Попытка использовать tools.jar - gradle - PullRequest
0 голосов
/ 12 июня 2018

Я использую gradle, чтобы упаковать некоторый код Java в банку.Я использую некоторые классы из 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'

}

1 Ответ

0 голосов
/ 14 июня 2018

Вероятно, то, что вам нужно, называется «толстая банка» (Gradle упаковывает все зависимости в одну банку)

...