Gradle, Eclipse, GWT 三個火槍手

    不知道怎麼取了這麼一個奇怪的標題,想到就用了。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的支持很是好。推薦使用。

相關文章
相關標籤/搜索