1

我想将我的 Gluon 项目构建为单个可执行 jar 文件。

目前有一个包含在 bin 文件夹等中的启动脚本。

是否可以构建一个罐子?或者我可以包含一个完成此任务的自己的 gradle 任务吗?

4

2 回答 2

0

当前的任务喜欢installAppdistZip不会将罐子捆绑在一起。

如果你想创建一个'fat-jar',你可以将这个插件添加到你的 build.gradle 脚本中:

buildscript {
    repositories {
        jcenter()

    }
    dependencies {
        classpath 'org.javafxports:jfxmobile-plugin:1.0.8'
        classpath 'com.github.jengelman.gradle.plugins:shadow:1.2.3'
    }
}

apply plugin: 'org.javafxports.jfxmobile'
apply plugin: 'com.github.johnrengelman.shadow'

然后运行gradlew shadowJar。它将在 libs 下创建一个可执行的 jar。

注意:如果您正在使用desktopCompileordesktopRuntime依赖项,则不会包含这些,因此您需要将它们更改为compileor runtime

于 2016-04-06T13:49:22.473 回答
0

因为我必须用 javapackager 构建 jar,所以我使用了这个插件:javafx-gradle-plugin

我对 Gradle 比较陌生,所以添加依赖项只是一个临时解决方案,但它可以工作

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'org.javafxports:jfxmobile-plugin:1.0.8'
        classpath group: 'de.dynamicfiles.projects.gradle.plugins', name: 'javafx-gradle-plugin', version: '8.4.1'
    }
}

jfx {
    verbose = true
    mainClass = "package.path.to.main.class.MainClass"
    jfxAppOutputDir = "build/jfx/app" //configurable
    jfxMainAppJarName = "ProjectName.jar"
    deployDir = "src/main/deploy" //for signing

    //many more options, go to link to learn about them
}


jfxJar.doFirst {
    //TODO add all desktop dependencies
    println("adding desktop dependency")
    project.dependencies.add("runtime", "com.gluonhq:charm-desktop:2.1.0")
}
于 2016-04-07T08:25:01.627 回答