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的支持很是好。推荐使用。

相关文章
相关标签/搜索