最小構成でJavaとGradleをコンソールのツールとして使うためのスケルトンのようなものです。バッチ処理とかどうでしょうか。最小とは言えクラスが複数あって、依存ライブラリもあるようなパターンにしています。
料理の仕方としては、build.gradle
を置いたディレクトリで、gradle nantoka
や、gradle -Ddousita.param=kousita kantoka
実行すると、それぞれ指定されたクラスのmainメソッドが実行されます。mainへのコマンドライン引数もそれなりに渡ります。
その後は、必要に応じて必要な機能やテストやGradleのプラグインや、使いたいプロパティファイルなどを足していけば良いと思います。色々いじってみると、Gradleの理解が深まるかもしれません。
必要なファイル
build.gradle
apply plugin: 'java'
repositories {
jcenter()
}
dependencies {
compile 'org.apache.commons:commons-lang3:3.4'
}
task nantoka(type: JavaExec) {
main = "org.example.Nantoka"
classpath = sourceSets.main.runtimeClasspath
args('apple', 'banana', 'cherry')
args 'durian'
}
// gradle -Ddousita.param=kousita kantoka
task kantoka(type: JavaExec) {
main = "org.example.Kantoka"
classpath = sourceSets.main.runtimeClasspath
args(System.properties['dousita.param'] ?: "default")
}
Nantoka.java
package org.example;
import java.util.Arrays;
public class Nantoka {
public static void main(String[] args) {
System.out.println("This is Nantoka");
System.out.println(args.length);
Arrays.stream(args).forEach(System.out::println);
Kantoka.doKantoka();
}
static void doNantoka() {
System.out.println("i am Nantoka");
}
}
Kantoka.java
package org.example;
import org.apache.commons.lang3.SystemUtils;
import java.util.Arrays;
public class Kantoka {
public static void main(String[] args) {
System.out.println("This is Kantoka");
System.out.println(args.length);
Arrays.stream(args).forEach(System.out::println);
System.out.println(SystemUtils.JAVA_VERSION);
Nantoka.doNantoka();
}
static void doKantoka() {
System.out.println("i am Kantoka");
}
}
ディレクトリ構成
この構成で、ファイルを配置してください。
│ build.gradle
└─src
└─main
└─java
└─org
└─example
Kantoka.java
Nantoka.java
バージョン番号など
- Java 8
- Gradle 2.10