Gluon构建为单个Jar

时间:2016-04-06 08:13:27

标签: executable-jar javafxports gluon gluon-desktop

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

目前bin文件夹中包含一个启动脚本,依此类推。

是否可以构建一个罐子?或者我可以包含一个自己的gradle任务来实现这个目标吗?

2 个答案:

答案 0 :(得分:0)

installAppdistZip等当前任务不会将这些广告捆绑在一起。

如果您想创建一个' fat-jar',可以将此plugin添加到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。

注意:如果您使用的是desktopCompiledesktopRuntime个相关信息,则不会包含这些信息,因此您需要将其更改为compileruntime。< / p>

答案 1 :(得分: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")
}