以前一直用的 Maven 构建 Web Application, 现在打算试下更灵活的 Gradle, 现把配置过程记录下.

使用的环境是: Eclipse IDE for Java EE Developers Kepler + JDK 1.7.

好, 下面正式开始:

  1. 安装 Gradle 插件. 在 Eclipse Marketplace 中搜索 Gradle, 选择安装 Gradle Integration for Eclipse
  2. 新建一个 Dynamic Web Project, 在项目根目录下新建 build.gradle 文件, 并向其中写入如下内容:
 import org.gradle.plugins.ide.eclipse.model.Facet

 apply plugin: 'java'
 apply plugin: 'war'
 apply plugin: 'eclipse-wtp'

 sourceCompatibility = 1.7	// 设置 JDK 版本
 webAppDirName = 'WebContent'	// 设置 WebApp 根目录
 sourceSets.main.java.srcDir 'src'	// 设置 Java 源码所在目录

 // 设置 maven 库地址
 repositories {  
 	mavenCentral() // 中央库
 	// maven { url 'http://maven.oschina.net/content/groups/public/' } // 自定义库地址
 }

 // 设置依赖
 dependencies {
 	providedCompile 'javax.servlet:servlet-api:2.5'	// 编译期
 	providedRuntime 'javax.servlet:jstl:1.2'	// 运行时
 }

 // 设置 Project Facets
 eclipse {
 	wtp {
 		facet {
 			facet name: 'jst.web', type: Facet.FacetType.fixed
 			facet name: 'wst.jsdt.web', type: Facet.FacetType.fixed
 			facet name: 'jst.java', type: Facet.FacetType.fixed
 			facet name: 'jst.web', version: '3.0'
 			facet name: 'jst.java', version: '1.7'
 			facet name: 'wst.jsdt.web', version: '1.0'
 		}
 	}
 }

接下来在项目上右击 -> configure -> convert to Gradle project

再次在项目上右击 -> Gradle -> Refresh All

如果没有 web.xml 文件的话, 再右击项目 -> Java EE Tools -> Generate Deployment Descriptor Stub

最后看下效果如何, 在 WebContent 下新建 index.jsp 里面随便写点什么, 然后项目上右击 -> Run As -> Run on Server

如果成功显示的话那么就一切 OK 了.