2016-04-06 9 views
1

私はGluon Projectを1つの実行可能なjarファイルとして構築したいと思います。単一のJarとして構築されたGluon

現在、binフォルダなどに含まれる起動スクリプトがあります。

単一の瓶を作ることは可能ですか?または、これを実現する独自のgradleタスクを含めることはできますか?

答えて

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") 
} 
0

installAppまたはdistZipのような現在のタスクでは、jarファイルは1つにバンドルされません。

あなたは「脂肪のjar」を作成したい場合は、あなたがあなたのbuild.gradleスクリプトにこのpluginを追加することができます。

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ファイルが作成されます。

注:desktopCompileまたはdesktopRuntimeの依存関係を使用している場合、それらは含まれないため、それらをcompileまたはruntimeに変更する必要があります。

+0

をいただき、ありがとうございます動作しますあなたの答え、私はそれを自分で修正しました。 私はJavafxのために通常の瓶のように構築するのに問題がありました。 しかし、今すぐ動作します:D – LucaZ

関連する問題