创建项目
1.新建一个 Dynamic Web Project
2.在项目根目录下新建 build.gradle 文件
3.右键项目Configure-Convert to Gradle Project,再次右键Gradle-Refersh All
4.右键项目Java EE Tools-Generate Deployment Descriptor Stub
build.gradle文件如下所示
import org.gradle.plugins.ide.eclipse.model.Facet
apply plugin: 'maven'
apply plugin: 'java'
apply plugin: 'war'
apply plugin: 'eclipse-wtp'
version = "1.0" // 设置Project版本
sourceCompatibility = 1.6 // 设置 JDK 版本
webAppDirName = 'WebContent' // 设置 WebApp 根目录
sourceSets.main.java.srcDir '/src/main/java' // 设置 Java 源码所在目录
// 设置 maven 库地址
repositories {
//mavenCentral() // 中央库
maven { url 'http://127.0.0.1:8081/nexus/content/repositories/public' } // 自定义库地址
}
// 设置依赖
dependencies {
compile (
"javax.servlet:servlet-api:2.5",
"javax.servlet:jstl:1.2",
"junit:junit:4.11",
)
}
// 设置 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: '2.5'
facet name: 'jst.java', version: '1.6'
facet name: 'wst.jsdt.web', version: '1.0'
}
}
}
[compileJava,javadoc,compileTestJava]*.options*.encoding = 'UTF-8' //解决编译Java时出现的 警告:编码 GBK 的不可映射字符
build.gradle解析
1.使用插件
apply plugin: 'maven'
apply plugin: 'java'
apply plugin: 'war'
apply plugin: 'eclipse-wtp'
默认情况下,Gradle会在src/main/java中查找你的源码,在src/test/java中查找你的测试代码,而src/main/resources下的文件都会被打包,src/test/resources下的文件会被包含在classpath中用于测试。所有输出的文件都保存在build目录里,而生成的jar包则是在build/libs里面。
2.外部依赖
通过以下代码来添加仓库:
// 设置 maven 库地址
repositories {
//mavenCentral() // 中央库
maven { url 'http://127.0.0.1:8081/nexus/content/repositories/public' } // 自定义库地址
}
然后再通过下面代码添加依赖:
// 设置依赖
dependencies {
compile (
"javax.servlet:servlet-api:2.5",
"javax.servlet:jstl:1.2",
"junit:junit:4.11",
)
}
version = "1.0" // 设置Project版本
sourceCompatibility = 1.6 // 设置 JDK 版本
webAppDirName = 'WebContent' // 设置 WebApp 根目录
sourceSets.main.java.srcDir '/src/main/java' // 设置 Java 源码所在目录
当执行gradle build 时,Gradle会执行编译,测试,并且将源文件和资源文件打成jar包。
除了build之外,还有几个常用的任务,如下:
clean:删除build目录和其他构建时生成的文件。
assemble:编译并打包,但不执行单元测试。不过一些其他插件可能会增强这个任务,例如 War 插件会再打出war包。
check:编译并测试代码。其他插件可能会增强这个任务。比如 Code-quality 插件会让这个任务去执行Checkstyle。