build.gradle
apply plugin: 'java'
apply plugin: 'war'
apply plugin: 'eclipse-wtp'
version = '1.0.1-SNAPSHOT'
// Uses JDK 7
sourceCompatibility = 1.7
targetCompatibility = 1.7
war {
baseName = 'myproject' //项目名称
version = '1.0.1-SNAPSHOT'
}
repositories {
mavenLocal() //使用 mavenLocal() 时,gradle 会查找 Maven 配置文件${user.home}/.m2/settings.xml
maven { url 'http://maven.oschina.net/content/groups/public/' }
mavenCentral()
}
dependencies {
//compile 'jstl:jstl:1.2'
//providedCompile 'javax.servlet:javax.servlet-api:3.0.1'
//compile group: 'commons-collections', name: 'commons-collections', version: '3.2'
//compile group: 'org.apache.commons', name: 'commons-lang3', version: '3.3.2'
}
gradle几个命令:
gradle cleanEclipse eclipse
gradle eclipse
gradle dependencies
项目中使用 build.gradle
apply plugin: 'java'
apply plugin: 'war'
apply plugin: 'eclipse-wtp'
//apply plugin: 'jetty'
apply plugin: 'com.bmuschko.tomcat'
apply plugin: 'com.bmuschko.tomcat-base'
version = '1.0.1-SNAPSHOT'
// Uses JDK 7
sourceCompatibility = 1.7
targetCompatibility = 1.7
jar {
manifest {
attributes 'Implementation-Title': 'Gradle Quickstart', 'Implementation-Version': version
}
}
//编译JAVA文件时采用UTF-8
tasks.withType(JavaCompile) {
options.encoding = "UTF-8"
}
//wab application打包文件
war {
baseName = 'myproject' //项目名称
version = '1.0.1-SNAPSHOT'
}
repositories {
mavenLocal() //使用 mavenLocal() 时,gradle 会查找 Maven 配置文件 ${user.home}/.m2/settings.xml
maven { url 'http://maven.oschina.net/content/groups/public/' }
mavenCentral()
}
//设置编码,与之前的options.encoding = "UTF-8" 重复
[compileJava,compileTestJava,javadoc]*.options*.encoding = "UTF-8"
dependencies {
//将本地多个jar文件作为依赖导入
compile fileTree(dir:'libs/myprojectLib',include:"*.jar")
providedCompile 'javax.servlet:javax.servlet-api:3.0.0'
providedCompile 'javax.servlet.jsp:javax.jsp-api:2.2.0'
//tomcat,详见 https://github.com/bmuschko/gradle-tomcat-plugin
def tomcatVersion = '7.0.11'
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'
}
}
test {
systemProperties 'property': 'value'
}
//Using a setter method, 设置项目编译生成目录
//project.buildDir = 'target'
//Using a getter method,显示项目编译生成目录
println project.buildDir
//执行gradle uploadArchives便可将jar包发布到respos文件夹下
uploadArchives {
repositories {
flatDir {
dirs 'repos'
}
}
}
//添加tomcat插件
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.bmuschko:gradle-tomcat-plugin:2.0'
}
}
gradle依赖jetty版本较低,有些项目报错,也经常出现outofmemory错误,tomcat插件相对稳定一些。
radle-tomcat-plugin插件项目:https://github.com/bmuschko/gradle-tomcat-plugin
在插件运行时,如遇outofmemory,可在执行gradle tomcatRun之前,执行:
set JAVA_OPTS=-XX:MaxPermSize=256m -Xmx512M
gradle clean tomcatRun
设置debug模式,可在执行前输入:
set GRADLE_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,address=9999,server=y,suspend=n
如果遇到页面jsp编译错误,可能是jar包的绝对路径中包含空格,在环境变量中设置:
set GRADLE_USER_HOME=D:\gradle-user-home
设置完成后,执行gradle命令,配置文件就会移动到该文件夹中d:\gradle-user-home
gretty插件,在build.gradle中设置
apply plugin: 'war'
apply from: 'https://raw.github.com/akhikhl/gretty/master/pluginScripts/gretty.plugin'
gretty {
port = 8080
contextPath ="/myproject"
servletContainer = 'tomcat7'
}
servletContainer参数可选:'jetty7' 、'jetty8'、'jetty9'、'tomcat7'、'tomcat8'
gradle运行命令为: gradle appRun