1. 程式人生 > >用IntelliJ IDEA建立Gradle專案簡單入門

用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檢視的話,應該就能看到相關的包被引用進來了。