不知道怎麼取了這麼一個奇怪的標題,想到就用了。java
手頭有一個web項目是用GWT作的,以前用ANT來編譯的。如今換成Gradle來編譯。依賴管理(dependency management)就能夠更加科學的管理了。固然Maven也能夠作這些事情。這裏就不說Gradle和Maven的區別和優缺點了。web
首先要改造的是原來項目的目錄結構:api
lib src com app ilxlf client server shared war build.xml
改造以後的目錄結構:app
src main java com app ilxlf client server shared resources com app ilxlf client server shared build.gradle
區別在與這裏我刪除掉了lib目錄和war目錄。eclipse
如今新的目錄結構出來了,可是不能直接導入到Eclipse裏面。由於當前尚未.classpath, .project文件和settings目錄。maven
【注:若是用SpringSource Tool Suite, 可使用「按gradle project」來導入的方式直接導入,不須要運行下面的命令。】ide
在當前目錄下在命令行裏運行下面的命令:gradle
gradle eclipseui
這個時候就會生成Eclipse所需的文件和目錄。包括.classpath, .project, settings, wargoogle
咱們看一下爲何會生成這些文件和目錄,主要的工做就是build.gradle這個文件:
defaultTasks "build" apply plugin: 'war' apply plugin: 'eclipse' sourceCompatibility = '1.6' targetCompatibility = '1.6' eclipseProject { projectName= 'app' buildCommand='org.eclipse.jdt.core.javabuilder' } configurations { compile } repositories { mavenCentral() } dependencies { compile 'javax.validation:validation-api:1.0.0.GA:sources' compile 'javax.validation:validation-api:1.0.0.GA' compile 'com.google.gwt:gwt-dev:2.4.0' compile 'com.google.gwt:gwt-user:2.4.0' compile 'com.google.gwt:gwt-servlet:2.4.0' providedCompile 'javax.servlet:servlet-api:2.5' } task gwtc(type: JavaExec) { outputs.dir new File('war') inputs.dir new File('src') main = 'com.google.gwt.dev.Compiler' maxHeapSize = '512M' args '-style OBFUSCATED com.app.ilxlf.App -war war'.split() classpath sourceSets.main.java.srcDirs classpath sourceSets.main.resources.srcDirs classpath configurations.compile.asPath.split(';') } war { dependsOn 'gwtc' from 'war' basename='app' }
裏面的內容就不解釋了。這輩子估計也忘不了。
下一步就是導入到Eclipse裏面, 而後打開項目的Web Toolkit, 下面就可使用「Run As -----> Web Application"運行這個項目了。
這裏有幾個前提須要提醒一下:首先須要下載gradle, 其次下載GWT Eclipse Plugin.
若是你們選擇SpringSource Tool Suite,它對這兩個plugin的支持很是好。推薦使用。