Gradleでwar

この本を参考にTomcatServletを動かすまでをやってみました。

Gradle徹底入門 次世代ビルドツールによる自動化基盤の構築

Gradle徹底入門 次世代ビルドツールによる自動化基盤の構築

まずは任意のフォルダを作成し、Javaのプロジェクトを作ります。

gradle init --type java-library

そして、build.gradleを書き変えます。

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.bmuschko:gradle-tomcat-plugin:2.0'
    }
}


apply plugin: 'war'
apply plugin: 'com.bmuschko.tomcat'


repositories {
    mavenCentral()
}


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

    def tomcatVersion = '8.0.39'
        tomcat "org.apache.tomcat.embed:tomcat-embed-core:${tomcatVersion}",
               "org.apache.tomcat.embed:tomcat-embed-logging-juli:${tomcatVersion}"
        tomcat("org.apache.tomcat.embed:tomcat-embed-jasper:${tomcatVersion}") {
            exclude group: 'org.eclipse.jdt.core.compiler', module: 'ecj'
        }
}

一番上のbuildscriptは、Tomcatプラグインを利用するための設定です。
buildscriptについては、以下のサイトをご参考ください。
第60章 ビルドロジックの体系化

providedCompileは、ビルド時には参照にするが、生成物からは除外する場合に使います。

次にサーブレットクラスを作成します。
src/main/javaディレクトリにサーブレットを作ります。

ここまででできればあとはtomcatを実行させるのみ!
以下のコマンドで実行します。

gradle tomcatRunWar

または

gradle tRW

でもOKです。


あとはブラウザからアクセスして起動していることを確認してください。
簡単にできてびっくりでした。