読者です 読者をやめる 読者になる 読者になる

ゲンゾウ用ポストイット

Java、Groovy、Linux関連の備忘録

Gradleで依存しているjarファイルも含めて1つのjarファイルにしてリリースする

Gradle

mavenリポジトリに配置されているjarファイルを含める方法は分からなかったが、以下のようなローカルプロジェクト内の特定フォルダにすべてのjarファイルが配置されている場合に対応できる。

ローカルプロジェクトの状態

ここでは、プロジェクトホーム直下の lib フォルダにjarファイルがいくつか配置されているものとする。

myproject
├build
├─lib		<=ここにjarファイルがいくつか存在している。
└─src
    ├─main
    │  ├─groovy
    │  └─java
    └─test

build.gradleの設定追記

以下のようなタスクを追加。

task jarWithZipFileSet(type : Jar){
    zipFileSet(dir: "$rootDir/lib")
    new File("$rootDir/build/classes").listFiles().findAll{ it.directory }.each{
        zipFileSet(dir: it.path)
    }
}   

ほいでjarファイルを作成。その際に以下のコマンドを使用する。

gradle clean jarWithZipFileSet

cleanは特に不要だが、一応念のためにプロジェクトを綺麗にしてからjarファイルを作成する。