尝试使用工具.jar语言 - gradle



我正在使用gradle将一些java代码打包到jar中。我正在使用tools.jar的一些类。我在gradle建造它和制作一个罐子方面取得了成功,但是当我用java -jar <package>.jar运行那个罐子时,我得到了以下结果。java.lang.NoClassDefFoundError: com/sun/tools/attach/VirtualMachine.

因为tools.jar是你用jdk得到的东西,而不是jre。有没有办法tools.jar与我的package.jar捆绑在一起,让我的罐子在任何地方工作?

这是我到目前为止build.gradle

buildscript {
repositories {
maven {
url 'https://plugins.gradle.org/m2/'
}
}    
}
description = "A java program"
apply plugin: 'java'
sourceCompatibility = 1.8
repositories {
mavenCentral()
flatDir {
dirs System.properties['java.home'] + '/../lib'
}
}

jar {
archiveName = "jProg.jar"
manifest {
attributes(
'Dependencies': 'com.sun.tools'
)
}
}

dependencies {
compile group: 'com.sun', name: 'tools'
}

可能你需要的叫做"胖罐子"(Gradle 将所有依赖项打包到单个罐子里(

最新更新