依存するライブラリの jar ファイルを取得するためだけに Gradle を使用したいそんな時
そんな時もあると思う
元々 Eclipse で開発していたプロジェクトを Gradle Project としてインポートすることができないから、Gradle を導入したとしても Eclipse 上で依存性が反映されない。そんな時もあると思う。
そんな時の対処法として、以下の方法を考えた。
build.gradle
apply plugin: 'war' def dependenciesCopyTargetDirName = 'dependencies' repositories { mavenCentral() } dependencies { compile 'com.google.guava:guava:18.0' testCompile 'junit:junit:4.11' providedCompile 'javax:javaee-api:7.0' } task deleteDependencies(type: Delete) { delete dependenciesCopyTargetDirName } task copyDependencies(type: Copy, dependsOn: deleteDependencies) { from configurations.testRuntime - configurations.providedRuntime into dependenciesCopyTargetDirName }
これでgradle copyDependencies
を実行すれば dependenciesCopyTargetName
で指定したフォルダ (dependencies) に jar ファイルがダウンロードされてコピーされる。
Eclipse 上でコピーされた jar ファイルをビルドパスに追加して使用しよう。
補足
from configurations.testRuntime - configurations.providedRuntime
になってるのは、一応 Gradle でビルドするときにも使えるようにするため。Java EE のランタイムは Eclipse 上だと通常 AP サーバーのものを使うからね。