很遗憾,当前gradle2.0内置的jetty插件只支持jetty 6.1.25版本,并且近期没有计划改变jetty插件(http://forums.gradle.org/gradle/topics/gradle2_still_cant_specify_jetty_version).
因为jetty 6.1.25不支持servlet 3或3.1规范,所以如果开发利用到servlet3的新特性(比如使用java config的spring mvc),就别指望用jetty插件测试了.只能考虑第三方jetty插件,比如gretty.
下文是使用jetty插件的一个例子.
2.导入当前这个gradle项目到IDEA去开发.
3.启动测试:
a.点击IDEA右上角的Edit Configurations,新建一个Configuration:点加号-->Name随便填,Gradle projet选当前项目,Tasks填jettyRun,VM options留空,Script parameters填-i(表示输出log级别为info),最后点OK确认
b.想运行jetty,选好上步新建的Configuration.点一下右边的三角按钮;想停止jetty,点Run面板上的STOP按钮.
因为jetty 6.1.25不支持servlet 3或3.1规范,所以如果开发利用到servlet3的新特性(比如使用java config的spring mvc),就别指望用jetty插件测试了.只能考虑第三方jetty插件,比如gretty.
下文是使用jetty插件的一个例子.
1.build.gradle
apply plugin:"war"
apply plugin:"jetty"
targetCompatibility = 1.7
version = "1.0"
ext {
springVersion = "3.2.8.RELEASE"
}
repositories{
mavenCentral()
}
[compileJava,compileTestJava,javadoc]*.options*.encoding = "UTF-8"
dependencies{
compile "org.springframework:spring-webmvc:$springVersion"
compile "com.fasterxml.jackson.core:jackson-databind:2.3.1"
compile "commons-fileupload:commons-fileupload:1.3.1"
providedCompile "javax.servlet:javax.servlet-api:3.1.0"
providedCompile "javax.servlet.jsp:jsp-api:2.2.1-b03"
providedCompile "javax.servlet.jsp.jstl:javax.servlet.jsp.jstl-api:1.2.1"
compile "org.apache.taglibs:taglibs-standard-impl:1.2.1"
testCompile "org.springframework:spring-test:$springVersion"
testCompile "junit:junit:4.11"
}
jettyRun{
webAppSourceDirectory file("$projectDir/src/main/webapp")
httpPort 8080
contextPath project.name
scanIntervalSeconds 0
reload "automatic"
}
[compileJava,compileTestJava,javadoc]*.options*.encoding = "UTF-8"是为了解决包含中文的源码编译时出现乱码的问题.
2.导入当前这个gradle项目到IDEA去开发.
3.启动测试:
a.点击IDEA右上角的Edit Configurations,新建一个Configuration:点加号-->Name随便填,Gradle projet选当前项目,Tasks填jettyRun,VM options留空,Script parameters填-i(表示输出log级别为info),最后点OK确认
b.想运行jetty,选好上步新建的Configuration.点一下右边的三角按钮;想停止jetty,点Run面板上的STOP按钮.