java - 尝试使用tools.jar-Gradle

标签 java gradle tools.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.jarpackage.jar bundle 在一起,并使我的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'

}

最佳答案

可能您需要的是“胖 jar ”(Gradle将所有依赖项打包到单个 jar 中)

关于java - 尝试使用tools.jar-Gradle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50823505/

相关文章:

gradle - Gradle Artifactory插件 Artifactory 解析不起作用

Gradle复制而不会覆盖

java - 无法找到 tools.jar

java - 找不到tools.jar Java CentOS

java - 从另一个类运行 GUI?

java - spring JPA的FindBy在传递空参数时使线程挂起

java - 如何将此代码片段变形为逻辑取决于索引值的 Java 8?

android - React native Android 应用程序无法构建并显示以下错误

eclipse - Gradle无法找到tools.jar

java - Bukkit - 如何在 60 秒后做一件确定的事情?