現在、Gradle 2.3 ( ShadowJar プラグインを使用して自己完結型の "fat JARS" をビルドする) でビルドするアプリがあり、次のビルド呼び出しでビルドされます。
gradle clean build shadowJar
これにより、 の下にファット JAR が生成されbuild/distributions
ます。
アプリを実際に実行するために、大量のランタイム引数があります。次に例を示します。
java -jar build/distributions/myapp.jar -Dfizz=true -Dbuzz=false -Dfoo=1 -Dbar=yes -Dgizmo=405
実際には、他にも数十の引数があります。これらのランタイム引数は環境固有であり、このアプリが実行されるマシンごとに異なるため、ファイル内のどこかにハードコードすることはできませんbuild.gradle
。Grails Wrapper を使用してこれらのランタイム引数を抽象化できるので、実行して、上記のコマンド./gradlew run
と同じことを行うように構成することができると誰かが私に言いました。java -jar
これが本当なら、このセットアップはどのように見えるでしょうか? それが真実でないなら、なぜですか?