分享

Eclipse 安装Gradle插件

 小米钱 2015-06-11

http://www.cnblogs.com/simoncook/archive/2013/02/28/2937939.html

一、介绍

1. Gradle 是什么 Gradle 官方对其描述是:能自动构建、测试、部署、打包、生成静态页面,生成文档等等。Gradle整合了Ant对依赖管理的强大能力、灵活和maven的约定的优于配置的特性形成了一种更有效的构建方式。Gradle基于Groovy的领域定义语言,充满了创新。Gradle已经成为很多开源项目的编译系统的选择。

2. Gradle的特性 详细的参见其文档

a. 通过声明来构建和通过约定来构建。

b. 基于编程来描述语言依赖。

c. 构建描述结构化。(使得你的构建代码更优雅,更清晰,更易复用)。

d. Deep API(提供很多hooks,允许你在构建的任何环节做监控和定制配置。)。

e. Gradle scales. f. 多工程构建。

g. 多种方式管理你的依赖(可以和maven和ivy仓库直接对接)...

 

二、Eclipse 安装Gradle插件(强烈建议全程fan/qiang)

1. 访问 http://dist./release/TOOLS/composite/e3.7/bookmarks.xml (可能要fan/qiang. 还有这个网址中的3.7是个变量,根据你的eclipse版本来确定。)。将这个xml文件保存到到本地.

2.然后按下图操作。 步骤5是 http://dist./release/TOOLS/gradle 

 

然后一路next。

3. 安装后的配置 安装完以后, 是可以喝maven的插件一样,可以指定gradle装在哪里,还是使用插件自带的gradle warpper。看你自己需要。我用的默认自带的。(maven是建议指向自己安装的)

三、Gradle构建脚本基础

1. 基础安装 a. 需要JDK1.5+。具体步骤即是下载zip包,解压即可用。根据需要决定是否设置GRADLE_HOME环境变量和GRADLE_HOME/bin 目录是否加入系统PATH。 b. JVM参数配置。对于Gradle来说,配置JVM参数,可以通过GRADLE_OPTS和JAVA_OPTS来配置,诸如HTTP Proxy。也可以在gradle脚本的开头处设置。

2. Eclipse的gradle插件使用 若在不联网的情况下,用eclipse的gradle的插件创建gradle工程会失败。 错误信息如下: java.net.UnknownHostException: services. at java.net.PlainSocketImpl.connect(Unknown Source) at java.net.SocksSocketImpl.connect(Unknown Source) at java.net.Socket.connect(Unknown Source) at java.net.Socket.connect(Unknown Source) at sun.net.NetworkClient.doConnect(Unknown Sourc

3. Gradle脚本基础

a. Everything in Gradle sits on top of two basic concepts: projects and tasks. Every Gradle build is made up of one or more projects. gradle中有两个重要概念,project和task。每一个gradle构建脚本都有多个project构成。一个project代表着你要构建的软件的一些部件。诸你要构建的要依赖外部什么。一个project可能代表一个jar lib,或者是一个web app。一个project也可能代表一个由多个工程build出来的多个jar包组装好的zip包。一个project并不一定代表要构建,也或许是去做一些事情,比如将你的应用发布到演示或者生产环境上。

b. 每一个project也是由多个task构成的。一个task代表一些原子的构建执行的工作片段。比如编译classes,创建jar,生成javadoc,发布一些压缩包到仓库。

下面就会涉及到Groovy的语法 具体的可以参见本博客另外一篇文章 Groovy简明学习

c. Hello World 创建一个build.gradle,写上如下代码:  

task hello { doLast { println 'Hello World!' } }   

gradle的 -b选项 表示指定编译脚本文件. 上面的脚本略作解释,定义了一个hello task,然后执行之。这个task等同于ant的target,但是gradle的task具有更强大的特性。

d. 更快捷的任务定义。

task hello << { println 'Hello world!' }

e. 字符串方法使用

task upper << { String someString = 'mY_nAmE' println "Original: " + someString println "Upper case: " + someString.toUpperCase() }  

f. 迭代次数 task count << { 4.times { print "$it " } }    

g. 任务依赖 task hello << { println 'Hello world!' }   task intro(dependsOn: hello) << { println "I'm Gradle" }  

h. 动态任务 4.times { counter -> task "task$counter" << { println "I'm task number $counter" } }

未完,待写  

i. 操作已经存在的任务

 

==========================

http://yidwo./blog/1848990

1. Gradle安装:
    从官方网站www.下载最新版本,解压后,将GRADLE_HOME/bin目录加到系统环境变量PATH上。测试是否配置成功在命令行运行:gradle -v 会打印出gradle的版本号等信息.

2. Gradle基本使用:
   新建一个项目后,在项目文件夹下创建build.gradle文件,并加入内容:
      apply plugin: 'eclipse'。
   然后在终端运行gradle eclipse即可构建eclipse IDE的开发环境。

   gradle默认值:gradle有些目录是有默认值存在,建议项目的配置,承袭了maven的风格,如:
        java的源码目录:src/main/java
        java的测试代码目录:src/test/java
        资源文件目录:src/main/resources
        测试的资源目录:src/test/resources
        WEB项目的目录:src/main/webapp   可通过webAppDirName变量更改  ex: webAppDirName="webapp"

下面是我的一个web项目的build.gradle文件,我们先来预览一下,接下来再分步简单介绍:

Java代码 apply plugin: 'maven'  
  1.     apply plugin: 'war'  
  2.     apply plugin: 'eclipse-wtp'  
  3.     apply plugin: 'jetty'  
  4.   
  5.     webAppDirName = 'webapp'  
  6.   
  7.     repositories {   
  8.         mavenCentral()   
  9.     }   
  10.   
  11.     dependencies {   
  12.         compile (   
  13.             "javax.servlet:javax.servlet-api:3.1-b07",   
  14.             "org.slf4j:slf4j-log4j12:1.7.5",   
  15.             "org.slf4j:slf4j-jdk14:1.7.5",   
  16.             "mysql:mysql-connector-java:5.1.24"  
  17.         )   
  18.     }   
  19.   
  20.     task copyHbm(type: Copy){   
  21.         from 'src/main/java/com/base/model'  
  22.         into 'build/classes/main/com/base/model'  
  23.         exclude '**/*.java'  
  24.     }  
  1. apply plugin: 'maven'  
  2.     apply plugin: 'war'  
  3.     apply plugin: 'eclipse-wtp'  
  4.     apply plugin: 'jetty'  
  5.   
  6.     webAppDirName = 'webapp'  
  7.   
  8.     repositories {  
  9.         mavenCentral()  
  10.     }  
  11.   
  12.     dependencies {  
  13.         compile (  
  14.             "javax.servlet:javax.servlet-api:3.1-b07",  
  15.             "org.slf4j:slf4j-log4j12:1.7.5",  
  16.             "org.slf4j:slf4j-jdk14:1.7.5",  
  17.             "mysql:mysql-connector-java:5.1.24"  
  18.         )  
  19.     }  
  20.   
  21.     task copyHbm(type: Copy){  
  22.         from 'src/main/java/com/base/model'  
  23.         into 'build/classes/main/com/base/model'  
  24.         exclude '**/*.java'  
  25.     }  



build.gradle文件常用任务解析:
    apply plugin: 'maven': 使用maven做为jar包的信赖管理,通过mave仓库下载项目所需的信赖包
    apply plugin: 'war':指定web项目,项目编译(在项目提示符下执行:gradle build)时生成项目的war包。
    apply plugin: 'java': 指定项目为java项目,项目编译(在项目提示符下执行:gradle build)时生成项目的jar包。
    apply plugin: 'eclipse-wtp':插件将构建web项目的开发环境,生成所需要的.project,.classpath等文件。因为我web开发使用的是eclipse-j2ee版本,所以指定为wtp环境。
    apply plugin: 'eclipse':java项目的eclipse开发环境构建.生成所需要的.project,.classpath等文件。
    apply plugin: 'jetty':加入jetty的支持,代码修改后直接执行命令gradle jettyRun即可运行web项目。
   repositories: 指定仓库使用。
    dependencies:项目依赖定义,compile为编译级别依赖,还有testCompile为测试级别的依赖等。
    compile: jar包的依赖配置有几种方法,我这里采用的是较为简略的方式,其中还有一种是:
        

Java代码 compile group: 'org.hibernate', name: 'hibernate-core', version: '3.6.7.Final'  
  1. testCompile group: 'junit', name: 'junit', version: '4.+'  
  1. compile group: 'org.hibernate', name: 'hibernate-core', version: '3.6.7.Final'  
  2. testCompile group: 'junit', name: 'junit', version: '4.+'  


    task copyHbm(type: Copy): 是自定义的一个任务,目的是将hibernate的映射文件也拷贝到正确的目录,gradle默认源码包下只对java文件名进行打包,xml文件则被忽略了。在项目提示符下gradle copyHbm即可执行任务定义的动作。
   
gradle常用命令:
     
        gradle eclipse : 构建开发环境,下载定义的jar包
        gradle build : 编译项目,生成build文件夹,并生成相应的jar或war包。
        gradle clean : 与build相反,删除build文件夹。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多