2015年8月9日日曜日

Gradleでtomcatプロジェクトを作成する

適当なディレクトリ配下で下記コマンドを実行。
※このディレクトリ名がデフォルトではTomcat実行時のコンテキストパスになります。

> gradle init --type java-library

・build.gradleを編集
buildscript {
  repositories {
    jcenter()
  }
  dependencies {
    classpath 'com.bmuschko:gradle-tomcat-plugin:2.2.2'
  }
}
apply plugin: 'war'
apply plugin: 'com.bmuschko.tomcat'
apply plugin: 'com.bmuschko.tomcat-base'

repositories {
    jcenter()
}

dependencies {
    providedCompile 'javax:javaee-web-api:6.0'
    compile 'org.slf4j:slf4j-api:1.7.12'
    testCompile 'junit:junit:4.12'

    def tomcatVersion = '7.0.59'
    tomcat "org.apache.tomcat.embed:tomcat-embed-core:${tomcatVersion}",
           "org.apache.tomcat.embed:tomcat-embed-logging-juli:${tomcatVersion}",
           "org.apache.tomcat.embed:tomcat-embed-jasper:${tomcatVersion}"
}

・Servletクラスを作成
src/main/java配下にHelloServlet.javaを作成
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;

@WebServlet(name="HelloServlet", urlPatterns={"/hello"})
public class HelloServlet extends HttpServlet {
  @Override
  protected void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
    res.getWriter().print("Hellow!!!!");
  }
}

・ウェルカムページを作成
src/main/webapp/index.htmlを作成し適当な文字を入力する

・gradleコマンドを使ってTomcatを起動する
> gradle tomcatRunWar

実行時のログに「The Server is running at http://localhost:8080/hoge」と表示されたら、ブラウザに入力してみましょう。
画面が表示されるはずです。


・warファイルだけ作りたいときは
> gradle war
というコマンドで「build/libs/」配下にwarファイルが作成されます。

MacにGVMでGradleをインストールする

・ターミナルを開いて下記を入力
> curl -s get.gvmtool.net | bash

・コマンドがインストールできているかを確認
gvm version

・下記コマンドで最新のgradleがインストールされます
> gvm install gradle

・もし、gradleのバージョンを変えたいなら
> gvm list gradle
// 表示されたバージョンを確認して
> gvm install gradle {インストールしたいバージョン}