Gradle學習筆記 使用外掛
前面說了不少內容,但是我看了一下Gradle官方文件內容太多太詳細。其中大部分內容其實我們不需要知道。一般情況下我們應用一部分外掛就可以了。自己編寫Gradle任務的情況並不多見。
Java外掛
在build.gradle
檔案中新增以下一句,即可啟用Java外掛。Java外掛用於構建普通的Java專案。
apply plugin: 'java'
Java專案應該包括以下資料夾:
資料夾 | 含義 |
---|---|
src/main/java | 專案程式碼資料夾 |
src/main/resources | 專案資原始檔夾 |
src/test/java | 專案測試程式碼資料夾 |
src/test/resources | 專案測試資原始檔夾 |
之後,我們就可以使用java外掛提供的大量任務了。這裡列出一些常用的:
任務名稱 | 描述 |
---|---|
compileJava | 編譯程式碼 |
processResources | 將資原始檔複製到生產資料夾中 |
classes | 將生產資料夾中的類和資源打包 |
compileTestJava | 編譯測試程式碼 |
processTestResources | 將測試資源複製到測試資原始檔夾中 |
testClasses | 將測試類和資源打包 |
jar | 打包成jar包 |
javadoc | 生成javadoc文件 |
clean | 清除生成資料夾和其中的所有內容 |
test | 執行單元測試 |
以下是一些常用的生存週期任務:
任務 | 描述 |
---|---|
assemble | 打包整個專案 |
check | 執行專案中所有驗證任務 |
build | 對專案執行一次完整構建 |
War外掛
新增以下一句啟用War外掛:
apply plugin: 'war'
和Java專案相比,War專案需要另一個資料夾:
資料夾 | 描述 |
---|---|
src/main/webapp | web原始碼資料夾 |
War外掛提供了一個任務,用來打包War檔案:
任務 | 功能 |
---|---|
war | 將專案打包為war檔案 |
Jetty外掛
新增apply plugin: 'jetty'
來啟用Jetty外掛。我們可以使用jetty外掛來執行web專案。
以下是Jetty外掛提供的任務:
任務 | 描述 |
---|---|
jettyRun | 啟動一個Jetty例項並執行專案 |
jettyRunWar | 啟動Jetty例項並執行War專案 |
jettyStop | 關閉Jetty例項 |
如果你使用Jetty外掛的話會發現Gradle會提示這個外掛已經過時了,並且會在Gradle 4中移除。因此推薦使用另外一個功能更強的外掛Gretty。
Gretty外掛
Jetty外掛已經過時了,Gradle推薦我們使用Gretty外掛
。要安裝Gretty外掛,需要新增以下一句:
apply from: 'https://raw.github.com/akhikhl/gretty/master/pluginScripts/gretty.plugin'
然後執行appRun
任務即可啟動web應用。Gretty外掛功能非常豐富,同時支援Jetty 7、8、9以及Tomcat7、8,只需要向build.gradle
中新增如下片段:
gretty {
// supported values:
// 'jetty7', 'jetty8', 'jetty9', 'tomcat7', 'tomcat8'
servletContainer = 'jetty9'
}
關於其他Gretty外掛的資訊,請訪問它的官方文件
Eclipse外掛
新增apply plugin: 'eclipse'
啟用Eclipse外掛。它會為我們生成Eclipse專案檔案,用於使用Eclipse開發時。
以下是常用任務:
任務 | 作用 |
---|---|
eclipse | 生成Eclipse專案檔案 |
cleanEclipse | 清除Eclipse專案檔案 |
IDEA外掛
新增apply plugin: 'idea'
啟用IDEA外掛,當我們使用Intellij IDEA開發時很有用。
以下是常用任務:
任務 | 作用 |
---|---|
idea | 生成IDEA專案檔案 |
cleanIdea | 清除IDEA專案檔案 |
介紹了這麼多外掛,我們基本上就可以正常使用Gradle構建專案了。比如我們要生成一個普通的Java專案,就應用Java外掛。如果我們準備在IDEA中開發程式,就應用Eclipse和IDEA外掛。如果我們要開發web程式,就應用war外掛和jetty外掛。