Gradle FatJar プラグインを使う。
build.gradle
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'eu.appsatori:gradle-fatjar-plugin:0.3'
}
}
apply plugin: 'eu.appsatori.fatjar'
repositories {
mavenCentral()
}
dependencies {
compile 'org.apache.commons:commons-lang3:3.4'
}
fatJar {
baseName = 'fatjar'
manifest {
attributes('Main-Class': 'sample.fatjar.Main')
}
}
Main.java
package sample.fatjar;
import org.apache.commons.lang3.StringUtils;
public class Main {
public static void main(String... args) {
System.out.println(StringUtils.join(args, " -> "));
}
}
Jar作成
> gradle fatJar
実行
> java -jar build\libs\fatjar.jar hoge fuga piyo
hoge -> fuga -> piyo
Jarの中身
fatjar.jar
|-META-INF/
| :
|-org/apache/commons/lang3/
| :
`-sample/fatjar/
:
fatJar
タスクは、 Jar
タスクを継承しているので、 Jar
と同じオプションを指定できる。