我已经寻找解决这个问题两天了,我没有找到解决方案。首先我想构建fat-jar,然后我放弃它看起来更复杂,所以我开始构建正常的可执行jar。我正在使用Gradle插件(http://plugins.netbeans.org/plugin/44510/gradle-support)
在NetBeans 8.2中构建一些程序我的项目结构是这样的:
我对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类中是主要的): java -cp projectname.jar paket.Glavna
我也试过跑步 清单加成 但是也没有添加到主班的链接。
答案 0 :(得分:1)
尝试使用main()
方法将类添加到课程中。
jar {
archiveName = 'Glavna.jar'
manifest {attributes 'Main-Class': 'paket.Glavna'}
from(configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }) {}
}
建立这样的胖罐不是首选,试试Application plugin