LoginSignup
11
12

More than 5 years have passed since last update.

GradleでJavaアプリを実行する最小構成サンプル

Last updated at Posted at 2016-02-04

最小構成で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
11
12
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
12