3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ubuntu16.04にGradleを入れてHelloWorldをビルドしてみた。

Posted at

Groovyで書けるビルドツールというのが魅力的で使ってみたくなったのでメモ。

##環境##

OS
ubuntu 16.04LTS
Gradle
Gradle 4.6
JAVA
OpenJDK 1.8.0

##準備##

###1.Gradleインストール###

Console
//Gradleが公式レポジトリにあるか確認
$ apt search gradle

//インストールを開始する
$ sudo apt install gradle

//インストールできたか確認
$ gradle

//こんな感じになってればOK
Task :help 

Welcome to Gradle 4.6.

To run a build, run gradle <task> ...

To see a list of available tasks, run gradle tasks

To see a list of command-line options, run gradle --help

To see more detail about a task, run gradle help --task <task>

For troubleshooting, visit https://help.gradle.org

###2.プロジェクトの作成###
こんな感じのシンプルなプロジェクトを作る。

└── src
    └── main
        └── java
            └── hello
Console
$ mkdir -p src/main/java/hello

javaのプログラムを作る。

src/main/java/hello/HelloWorld.java
package hello;

import org.joda.time.LocalTime;

public class HelloWorld {
  public static void main(String[] args) {
    LocalTime currentTime = new LocalTime();
    System.out.println("The current local time is: " + currentTime);

    Greeter greeter = new Greeter();
    System.out.println(greeter.sayHello());
  }
}
src/main/java/hello/Greeter.java
package hello;

public class Greeter {
  public String sayHello() {
    return "Hello world!";
  }
}

##Gradleのタスクの実行##
###ビルドファイルの準備###
タスクの実行には build.gradle というファイルを作業ディレクトリに配置して、依存関係などを書きます。このプロジェクトでは joda.time というライブラリが必要です。

以下のように書きます。

build.gradle
apply plugin: 'java'

//以下の2行のように書くことで、Gradleからコードを実行できるようになる。
apply plugin: 'application'
mainClassName = 'hello.HelloWorld'

// MavenCentralというレポジトリから依存関係にあるファイルを取ってくるように設定。
repositories {
    mavenCentral()
}

// ビルドされるjarファイルの名前を指定できます。
jar {
    baseName = 'gs-gradle'
    version =  '0.1.0'
}

//依存関係にあるライブラリを列挙します。
dependencies {
    compile "joda-time:joda-time:2.2"
    testCompile "junit:junit:4.12"
}

また、以下のようにどのタイミングで参照されるべきなのかを指定できるみたいです。

compile testCompile providedCompile
コンパイル時と実行時に必要なライブラリ テスト時のコンパイルにのみ必要なライブラリ コンパイル時は必要だが、実行時はコンテナによって提供されるライブラリ

###実行###

作業ディレクトリに移動し、以下のコマンドを実行します。

Console
$ gradle build

これでjarファイルが作成されたはずです。実行してみましょう!!。

Console
$ gradle run

> Task :run 
The current local time is: 22:16:19.473
Hello world!

####ラッパークラスを使う場合####
ラッパークラスをプロジェクトに配置することで、どの環境でも同一のコマンドでビルドが実行できるようになります。

Console
//ラッパークラスを配置する
$  gradle wrapper --gradle-version 4.6

//ビルドする。./を忘れないように。。。
$ ./gradlew build

//実行する。
$ ./gradlew run 

##感想##
楽しかった。

参考
https://spring.io/guides/gs/gradle/

3
0
0

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
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?