使用Gradle和NetBeans构建可执行jar

时间:2017-06-27 09:10:10

标签: java gradle netbeans jar executable

我已经寻找解决这个问题两天了,我没有找到解决方案。首先我想构建fat-jar,然后我放弃它看起来更复杂,所以我开始构建正常的可执行jar。我正在使用Gradle插件(http://plugins.netbeans.org/plugin/44510/gradle-support

在NetBeans 8.2中构建一些程序

我的项目结构是这样的:

Project Structure

我对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

我也试过跑步 清单加成 但是也没有添加到主班的链接。

1 个答案:

答案 0 :(得分:1)

尝试使用main()方法将类添加到课程中。

jar {
    archiveName = 'Glavna.jar'

    manifest {attributes 'Main-Class': 'paket.Glavna'}

    from(configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }) {}
}

建立这样的胖罐不是首选,试试Application plugin