我正在使用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'
}
答案 0 :(得分:0)
你需要的东西可能被称为'胖罐'(Gradle将所有依赖包装到单罐)