Gradleで依存するライブラリをコピーする
- オンプレミスのシステムを作っていると依存するライブラリはあらかじめインストーラに含めておく必要があるので、簡単に固めたいです。
gradle buildすると.gradleの下に入ったり、Groovyでgrape使ったりすると.groovyの下に入ったりするのですが、それを手動で集めるなんてしたくないし。
依存ライブラリをコピーするGradleタスク
- build.gradleにコピーするタスクを書きます。
task copyDependencies(type:Copy) {
new File('lib').mkdirs()
copy {
from configurations.runtime
into 'lib'
}
}
- 実行
$ gradle copyDependencies
- これでプロジェクトフォルダの下にlibディレクトリが出来てその中にjarがコピーされます。
別解
GradleのApplicationプラグインを使っている場合は、
installAppタスクでbuild/install/<project>/libに必要な物がコピーできますね。- しかも
build/install/<project>/binに起動スクリプトまで入ってくる。便利かも。 - 第45章 アプリケーション プラグイン
- しかも
build.gradleに以下を追加します。
mainClassNameはmainメソッドがある起動用のクラスです。
apply plugin: 'application' mainClassName = 'class_name'
- 実行
$ gradle installApp