gradleには標準でjettyと云うプラグインが入っていますが、このプラグインはjetty6で動作するらしく、servret3.x以降とかを要求する場合には使用できません。
IntelliJ IDEA CEを使ってると、商用版IDEAのようにtomcatなどを起動して試験などの機能がありませんので、gradleから起動したいところです。
grettyと云うプラグインがあり、これを利用するとjetty,tomcatともにgradleから起動できるようになるということなので、使用してみました。
gretty
https://github.com/akhikhl/gretty
build.gradle
apply plugin: 'war'
apply plugin: 'org.akhikhl.gretty'
repositories {
jcenter()
}
dependencies {
testCompile group: 'junit', name: 'junit', version: '4.11'
}
buildscript {
repositories { jcenter() }
dependencies {
classpath 'org.akhikhl.gretty:gretty:+'
}
}
buildscript で 'org.akhikhl.gretty:gretty:+' を指定して、apply plugin: 'org.akhikhl.gretty' とするだけです。
あとは gradle jettyRun 、 gradle tomcatRun などとすればアプリが組み込まれた状態でjettyやtomcatが起動します。
また、以下のようにgretty.servletContainer を指定することで起動するサーブレットコンテナを指定できます。
.gradle
// Jetty 7.6.14.v20131031 (Servlet-api:2.5)
gretty {
servletContainer = 'jetty7'
}
// Jetty 8.1.8.v20121106 (Servlet-api:3.0.1)
gretty {
servletContainer = 'jetty8'
}
// Jetty 9.2.1.v20140609 (Servlet-api:3.1.0)
gretty {
servletContainer = 'jetty9'
}
// Tomcat 7.0.54 (Servlet-api:3.0.1)
gretty {
servletContainer = 'tomcat7'
}
// Tomcat 8.0.8 (Servlet-api:3.1.0)
gretty {
servletContainer = 'tomcat8'
}