现在越来越多的开源软件使用了 git 作为版本控制系统,并使用 gradle 作为构建工具,从而取代了原来的 SVN + Maven 模式,使得我们有必要初步了解一下 git 和 gradle 究竟是什么。
Windows 下 GitHub for Windows 是个不错 的选择,简单的 Git for Windows 也不错。 提到Git就有必要说说 GitHub ,简单的说 GitHub 就是一个 git 库托管服务,可以托管开源库(免费)和私有库(收费),功能有点类似于 SourceForge.net 和 Google Code,其主要特色是“Social Coding”,这使得代码分享变得更容易,其功能已经远远超越了源代码管理的范畴。GitHub 也推出了GitHub Enterprise [3],类似于当年的 SourceForge Enterprise (当今的TeamForge)。
GitHub for Windows 就是 github 提供的 git 客户端。界面挺漂亮,如图: Git 和其它版本控制工具(例如 Subversion,CVS 等)在原理上是完全不同。笔者大致浏览了一下《Pro Git》,自建了一个 git 库进行了尝试,个人体会如下:
非常不错特性
build.gradle
,如果要使用 Maven 库,可以如下配置:
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
文件如下:
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.+' }相关说明
Source |
|