原文鏈接:http://www.cnblogs.com/guogangj/p/5465740.html
Gradle和Maven一樣,是Java用得最多的構建工具之一,在Maven之前,解決jar包引用的問題真是令人抓狂,有了Maven后日子就好過起來了,而現在又有了Gradle,Maven有的功能它都有,且看起來更漂亮,咱么就用起來吧。
裝好Intellij IDEA之后,Gradle也就默認裝好了,現在我們僅需直接創建工程:
當然選擇Java了,Next:
GroupId,ArtifactId和Version,咋看起來和Maven一樣?其實就是一樣,后面我們還繼續使用Maven的倉庫呢。Next:
Use auto-import和Create directories for empty content roots automatically這兩個選項勾上,Next:
填入項目名稱,位置,OK,Finish。我們來看看項目的目錄結構:
- .gradle,gradle的相關支持文件,不用管
- .idea,IntelliJ IDEA的相關文件,不用管
- build,構建生成物,存放項目構建中生成的class和jar包
- gradle,一個gradle的包裝程序,貌似直接用gradle不太好,得再包一層,這個其實我們也不用管
- src,我們寫代碼的地方,不用說了吧
- build.gradle,gradle的構建配置,這是我們要關心的,相當於Maven的pom.xml
- GradleLearn.iml,IntelliJ IDEA的項目文件
- gradlew,一段gradle wrapper的運行腳本,For *nix
- gradlew.bat,一段gradle wrapper的運行腳本,For Windows
我用上一篇文章提供的小程序為例子(Java的異步HttpClient),看看如何引入httpasyncclient,打開我們新的“pom.xml”(build.gradle):
group 'com.gornix' version '1.0-SNAPSHOT' apply plugin: 'java' sourceCompatibility = 1.8 repositories {
mavenLocal() mavenCentral() }
tasks.withType(JavaCompile) {
options.encoding = "UTF-8"
}
dependencies { compile group: 'org.apache.httpcomponents', name:'httpasyncclient', version:'4.1.1' testCompile group: 'junit', name: 'junit', version: '4.11' }
紅色字體部分是我修改過的,看看build.gradle是不是比pom.xml好看多了,相當簡練對吧。
其中mavenCentral()句話的意思是使用Maven的容器獲取依賴,而加上mavenLocal()這句話之后,Gradle會嘗試先從本地Maven緩存中獲取jar包,這樣會更快一些,下面的dependencies則是各種依賴包了,compile表示編譯時依賴,而testCompile表示執行單元測試時的編譯的依賴。task.withType()這段表示使用UTF-8編碼,為了避免編譯的問題,我們全部使用UTF-8編碼即可,嗯,是全部文本文件!
OK,點一下Gradle工具窗口中的刷新:
這時候你展開Project窗口中的External Libraries查看的話,應該就能看到相關的包被引用進來了。
別的好像沒什么差別了,這篇文章僅僅是一篇“簡單入門”文章,所以沒太多內容,我們仍然看不到Gradle比Maven強去哪里,僅僅是配置文件好看了點,等以后如有時間,我再來整理整理了。