Gluon プロジェクトを単一の実行可能な jar ファイルとしてビルドしたいと考えています。
現在、bin フォルダーなどに含まれる起動スクリプトがあります。
単一のjarを構築することは可能ですか? または、これを達成する独自の gradle タスクを含めることはできますか?
Gluon プロジェクトを単一の実行可能な jar ファイルとしてビルドしたいと考えています。
現在、bin フォルダーなどに含まれる起動スクリプトがあります。
単一のjarを構築することは可能ですか? または、これを達成する独自の gradle タスクを含めることはできますか?
現在のタスクは、jar を 1 つにまとめたり、バンドルしinstallApp
たりdistZip
しません。
「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 が作成されます。
注:desktopCompile
またはdesktopRuntime
依存関係を使用している場合、それらは含まれないため、それらをcompile
またはに変更する必要がありますruntime
。
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")
}