2016-04-06 7 views
1

Я хотел бы построить мой проект Gluon как SINLE исполняемый файл jar.Gluon build as single Jar

В настоящее время есть сценарий запуска, включенный в папку с bin и так далее.

Возможно ли построить единую банку? Или я могу включить собственную задачу градиента, которая это выполнит?

ответ

0

Так как я должен был построить банку с javapackager Я использовал этот плагин: 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") 
} 
0

Текущие задачи, такие как installApp или distZip, не будут связывать банки в одном.

Если вы хотите, чтобы создать «толстый-банку», вы можете добавить в свой 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 исполняемый банку.

Примечание: если вы используете desktopCompile или desktopRuntime зависимости, те, которые не будут включены, так что вы должны изменить те, compile или runtime.

+0

Благодарим Вас за ваш ответ, я исправил его сам. У меня были проблемы с его построением, как обычная баночка из-за Джавафса. Но теперь работает: D – LucaZ