尝试使用 tools.jar - gradle
Trying to use tools.jar - gradle
我正在使用 gradle
将一些 java 代码打包到一个 jar 中。我正在使用 tools.jar
中的一些 类。我在 gradle
构建它并制作一个 jar 方面取得了成功,但是当我 运行 使用 java -jar <package>.jar
那个 jar 时,我得到了以下信息
java.lang.NoClassDefFoundError: com/sun/tools/attach/VirtualMachine
.
因为 tools.jar
是 jdk
而不是 jre
。有没有一种方法可以将 tools.jar
与我的 package.jar
捆绑在一起并让我的 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'
}
可能你需要的是'fat jar'(Gradle将所有依赖包打包到一个jar)
我正在使用 gradle
将一些 java 代码打包到一个 jar 中。我正在使用 tools.jar
中的一些 类。我在 gradle
构建它并制作一个 jar 方面取得了成功,但是当我 运行 使用 java -jar <package>.jar
那个 jar 时,我得到了以下信息
java.lang.NoClassDefFoundError: com/sun/tools/attach/VirtualMachine
.
因为 tools.jar
是 jdk
而不是 jre
。有没有一种方法可以将 tools.jar
与我的 package.jar
捆绑在一起并让我的 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'
}
可能你需要的是'fat jar'(Gradle将所有依赖包打包到一个jar)