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がコピーされます。

別解

apply plugin: 'application'

mainClassName = 'class_name'
  • 実行
$ gradle installApp