我已经搜索了两天来解决这个问题,但没有找到解决方案。首先我想构建 fat-jar,然后我放弃了它看起来更复杂,所以我开始构建普通的可执行 jar。我正在使用 Gradle 插件在 NetBeans 8.2 中构建一些程序( http://plugins.netbeans.org/plugin/44510/gradle-support )
我的项目结构是这样的:
我对 Gradle 比较陌生,我使用它还不到一个月。我的 build.gradle 看起来像这样:
repositories {
mavenCentral()
}
dependencies {
// TODO: Add dependencies here ..
// // http://www.gradle.org/docs/current/userguide/dependency_management.html#sec:how_to_declare_your_dependencies
// testCompile group: 'junit', name: 'junit', version: '4.10'
// https://mvnrepository.com/artifact/org.apache.poi/poi
compile group: 'org.apache.poi', name: 'poi', version: '3.16'
// https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml
compile group: 'org.apache.poi', name: 'poi-ooxml', version: '3.16'
// https://mvnrepository.com/artifact/org.apache.pdfbox/pdfbox
compile group: 'org.apache.pdfbox', name: 'pdfbox', version: '2.0.6'
}
apply plugin: 'java'
mainClassName = "paket.Glavna"
jar {
from {
(configurations.runtime).collect {
it.isDirectory() ? it : zipTree(it)
}
}
manifest {
attributes("Main-Class": "Glavna" )
}
}
现在,我无法让它工作来制作可执行的 jar。我想我已经追踪到 jar 中没有主类路径的问题,但我不知道为什么它不添加它。我得到的错误是:
错误:无法找到或加载主类 DnevniIzvestajG-1.0.jar
jar 运行(Glavna 类中是 main): java -cp 项目名称.jar paket.Glavna
我也尝试过运行 list 添加 但他也没有添加主类的链接。
最佳答案
尝试使用 main()
方法向类添加包。
jar {
archiveName = 'Glavna.jar'
manifest {attributes 'Main-Class': 'paket.Glavna'}
from(configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }) {}
}
像这样构建一个 fat jar 子并不可取,请尝试 Application plugin
关于java - 使用 Gradle 和 NetBeans 构建可执行 jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44776338/