用IntelliJ IDEA建立Gradle專案簡單入門
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檢視的話,應該就能看到相關的包被引用進來了。