尝试使用 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.jarjdk 而不是 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)