build.gradlejava
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幾個命令:git
gradle cleanEclipse eclipsegithub
gradle eclipseshell
gradle dependenciesapache
項目中使用 build.gradle
api
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插件相對穩定一些。tomcat
radle-tomcat-plugin插件項目:https://github.com/bmuschko/gradle-tomcat-pluginapp
在插件運行時,如遇outofmemory,可在執行gradle tomcatRun以前,執行:eclipse
set JAVA_OPTS=-XX:MaxPermSize=256m -Xmx512M gradle clean tomcatRun
設置debug模式,可在執行前輸入:
socket
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