Gradle 初体验

转自:http://blog.163.com/luowei505050@126/blog/static/119907206201321701550414/


Gradle 是一个基于 Groovy 的构建工具,吸取了 Maven 的一些有点,还可以直接使用 Maven 库,所有大有取代 Maven 的架势[4]

Gradle 的官方网站是 http://www.gradle.org/,在这里下载 zip 包,解压,设置环境变量 GRADLE_HOME 并加到 path 中即可。详情请阅读 用户手册 。

Gradle 的主要配置文件是 build.gradle,如果要使用 Maven 库,可以如下配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
repositories {
     //Maven中心库(http://repo1.maven.org/maven2)
     mavenCentral()
 
     //本地库,local repository(${user.home}/.m2/repository)
     mavenLocal()
 
     //指定库
     maven {
         url "http://repo.mycompany.com/maven2"
     }
 
     //指定库
     mavenRepo name: reponame', url: "http://repo.mycompany.com/maven2"
 
     //指定库
     maven {
         // Look for POMs and artifacts, such as JARs, here
         url "http://repo2.mycompany.com/maven2"
         // Look for artifacts here if not found at the above location
         artifactUrls "http://repo.mycompany.com/jars"
         artifactUrls "http://repo.mycompany.com/jars2"
     }
 
     //带认证的库
     maven {
         credentials {
             username 'user'
             password 'password'
         }
         url "http://repo.mycompany.com/maven2"
     }
}

其中有必要说说 mavenLocal(),能不能用 Maven 本地库也是笔者最关心的特性之一。

经实践,发现直接使用 mavenLocal() 时,gradle 会查找 Maven 配置文件 ${user.home}/.m2/settings.xml 来定位本地 Maven 库的路径,如果没有找到该文件,则默认本地库路径为 ${user.home}/.m2/repository,而笔者的 Maven 配置文件在 $M2_HOME/conf/settings.xml ,gradle 竟然不能读取到这个配置文件。

这个问题已经作为一个Improvement(#GRADLE-1900  [5])被提出,并显示在 1.0-milestone-9 版本中已经修正,而使用的1.0正式版时,竟然还有这个问题,真是相当诡异。

既然不能直接使用 mavenLocal(),就必须做一些变通,笔者最终测试用的 build.gradle 文件如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
apply plugin: 'java'
 
version: '1.0-SNAPSHOT'
group: 'org.opoo'
 
repositories {
   mavenRepo urls: "file:///D:/m2.repo"
   //mavenLocal()
   //mavenCentral()
}
 
dependencies {
     compile group: 'commons-lang' , name: 'commons-lang' , version: '2.1'
     compile group: 'commons-logging' , name: 'commons-logging' , version: '1.0.4'
     testCompile group: 'junit' , name: 'junit' , version: '4.+'
}


相关说明
[1] InfoQ: Gradle,构建工具的未来?http://www.infoq.com/cn/news/2011/04/xxb-maven-6-gradle
[2] Gradle 使用 Maven 本地库 http://issues.gradle.org/browse/GRADLE-1900

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值