日本免费精品_最新日韩一区_亚洲视频一区在线_a在线视频观看_天天射夜夜骑_粉嫩av一区二区三区_欧美中日韩免费视频_综合图区欧美_国内精品美女在线观看_午夜精品久久久久久久男人的天堂

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

Gradle 快速入門

2019-11-11 06:36:46
字體:
供稿:網(wǎng)友

大家應(yīng)該都經(jīng)歷過為了學(xué)習(xí)Hibernate、SPRing這樣的框架,需要引用大量Jar包而忙得焦頭爛額的經(jīng)歷吧。在java中管理Jar包確實是一件麻煩事情。而且有時候就算你電腦上一個項目配置的好好的,換一臺電腦馬上就不行了。因此就產(chǎn)生了項目構(gòu)建工具這么一個玩意,它能大大簡化我們構(gòu)建項目所需的成本。Maven就是這么一個項目構(gòu)建工具,它的配置文件是一個xml文件。這樣做的優(yōu)點就是配置易于理解,因為是XML嘛。但是如果項目很大很復(fù)雜,那么Maven的局限性就體現(xiàn)出來了:XML會變得非常非常長,不利于閱讀;使用插件、執(zhí)行某些任務(wù)非常困難,因為XML擅長描述靜態(tài)信息,對動態(tài)的行為無能為力。因此催生了一個嶄新的項目構(gòu)建工具Gradle。用了一段時間Gradle的我表示再也回不去Maven了。真的各方面體驗都非常好。Gradle的唯一缺點大概就是網(wǎng)絡(luò)不甚流暢,可能需要梯子等工具。

安裝Gradle

我們可以到Gradle官方網(wǎng)站上下載Gradle。Gradle的文檔也在上面,雖然是英文的,但是我推薦大家還是有時間盡量看一看。對提高Gradle技能很有幫助。下載版本有兩個,完整版(包括可執(zhí)行文件、文檔和源代碼)以及二進制版(只有可執(zhí)行文件)。我推薦下載完整版的,因為有源代碼的支持,在Intellij IDEA這樣的智能IDE會提供Gradle腳本補全這樣的高級功能。下載完成之后將Gradle bin目錄添加到環(huán)境變量中。新開一個命令提示符執(zhí)行如下命令,

gradle --version

如果得到類似的輸出,那么就說明安裝成功了。

------------------------------------------------------------Gradle 3.3------------------------------------------------------------Build time: 2017-01-03 15:31:04 UTCRevision: 075893a3d0798c0c1f322899b41ceca82e4e134bGroovy: 2.4.7Ant: Apache Ant(TM) version 1.9.6 compiled on June 29 2015JVM: 1.8.0_112 (Oracle Corporation 25.112-b15)OS: Windows 10 10.0 amd64

Gradle默認(rèn)情況下會使用當(dāng)前系統(tǒng)的編碼來處理文件。也就是說在我們中文Windows操作系統(tǒng)下,會使用GBK編碼。如果我們的項目使用UTF-8編碼,在使用Gradle的過程中就會出現(xiàn)亂碼情況。解決辦法可以參考我這篇文章Gradle項目中文亂碼的解決辦法。

基本使用

新建項目

隨便新建一個文件夾,打開命令提示符,切進這個文件夾。然后執(zhí)行

gradle init

這樣Gradle就會為我們初始化必要的文件。文件列表如圖。.gradle是Gradle的臨時文件夾,不用管。gradle文件夾、gradlewgradlew.bat是Gradle Wrapper用到的文件,我們現(xiàn)在也不用管。需要關(guān)注的就是build.gradlesettings.gradle兩個文件。

Gradle新建項目結(jié)構(gòu)

對于一個完整的Gradle項目來說結(jié)構(gòu)應(yīng)該和下圖一樣。除了上圖初始化之后的幾個文件之外,還應(yīng)該有以下文件夾。

src/main/java,java源代碼文件夾src/main/resources,資源文件夾src/main/webapp,網(wǎng)絡(luò)內(nèi)容文件夾(如果這是個web項目)src/test/java,測試文件夾src/test/resources,測試資源文件夾

Gradle完整項目結(jié)構(gòu)

配置文件

settings.gradle文件是Gradle項目的配置文件,我們可以在這里配置項目的一些信息,例如項目名稱等等。以下是一個簡單的settings.gradle內(nèi)容。

rootProject.name = 'spring-web-mvc-sample'

如果是一個多項目的Gradle項目,那么settings.gradle還會包含一些include行,指定包含了哪些項目。

include 'shared'include 'api'include 'services:webservice'

構(gòu)建文件

下面來說說構(gòu)建文件build.gradle,這是我們主要配置的地方。下面是一個典型的build.gradle文件。每個部分的作用我都注釋出來了。習(xí)慣了XML文件的同學(xué)一定覺得這種文件很特別。Gradle是基于Groovy語言的,所以這里的文件其實就是Groovy形式的代碼文件。如果不會Groovy語言也不要緊,使用Gradle插件就可以滿足我們大部分的需求。當(dāng)然如果懂Groovy語言,那么就可以編寫復(fù)雜的自定義任務(wù)了。

// 項目配置group 'yitian.learn'version '1.0-SNAPSHOT'// 插件配置apply plugin: 'java'apply plugin: 'war'apply from: 'https://raw.github.com/akhikhl/gretty/master/pluginScr下面來根據(jù)注釋分別說說。首先是項目配置,配置該項目的組名(一般是公司或組織名)和版本號,和Maven中的組名、項目名和版本號一一對應(yīng)(Gradle項目的項目名在settings.gradle中)。源代碼兼容性指的是項目中源代碼的版本。對于我來說肯定永遠是最新版的Java了。剩下幾個有點復(fù)雜,在后面慢慢討論。

配置項目

執(zhí)行任務(wù)

首先我們執(zhí)行一下命令gradle tasks。會發(fā)現(xiàn)列出了Gradle當(dāng)前所有可用的任務(wù),而且我們會發(fā)現(xiàn)有個任務(wù)就是tasks在Gradle中,任務(wù)是最基本的執(zhí)行單元。而且我們這些Gradle命令行其實就是執(zhí)行一些Gradle命令。每個任務(wù)還應(yīng)該有一個組名,表明任務(wù)的類別,沒有組名的任務(wù)Gradle默認(rèn)會將其隱藏。我們使用gradle tasks列出任務(wù)的時候Gradle也會將其以組名分類。要執(zhí)行某個任務(wù),語法如下:gradle 任務(wù)名

如果有使用過Maven的同學(xué),可以感受到Gradle執(zhí)行任務(wù)比Maven執(zhí)行命令方便多了。如果項目還是剛剛那個剛新建好什么都沒改的構(gòu)建文件。那么查看任務(wù)的時候應(yīng)該只能看到初始化和幫助任務(wù)。Gradle其他的功能需要插件來提供。

插件

上面那個配置文件給出了插件的配置方法。第一種是使用Gradle提供的一些插件,第二種是引用網(wǎng)絡(luò)上的插件。配置了插件之后,我們再次查看任務(wù),就會發(fā)現(xiàn)多出來很多任務(wù),這就是插件帶給我們的功能。

如果我們這是個Java項目,那就添加java插件,如果這是一個Java Web項目,那么還需要添加war插件。如果想要運行該web項目,可以使用Gradle提供的jetty插件。但是這個插件在Gradle3.3中已經(jīng)過時了,Gradle推薦我們使用功能更加強大的Gretty插件。針對其他語言和平臺,Gradle也提供了相應(yīng)的插件例如android,這些插件的情況參見其相應(yīng)的文檔。

apply plugin: 'java'apply plugin: 'war'apply from: 'https://raw.github.com/akhikhl/gretty/master/pluginScripts/gretty.plugin'

java和war插件給我們提供了很多新的任務(wù),方便我們開發(fā)。列舉一些常用的如下:

任務(wù)名 作用
build 打包和測試項目
test 測試項目
assemble 打包項目
war 打包成war文件
jar 打包成jar文件
clean 清理項目
javadoc 生成javadoc

Gretty插件最常用的就是tomcatRun任務(wù)了。它會啟動一個tomcat實例來運行我們的應(yīng)用,而且具有自動更新類、資源,必要時重啟服務(wù)器的功能,非常方便和強大。Gretty插件的詳細配置參見其Github。

倉庫配置

Gradle默認(rèn)提供了兩個公共倉庫,mavenCentral和jcenter。我們可以隨意使用。當(dāng)然也可以同時引用多個。這種情況下Gradle會依次按照順序來搜索軟件包,如果都沒找到則構(gòu)建失敗。當(dāng)然我們也可以使用其他鏡像倉庫。下面的例子使用了阿里的鏡像倉庫,如果鏡像倉庫沒找到需要的軟件就會繼續(xù)在jcenter中尋找。

repositories { maven { url "http://maven.aliyun.com/nexus/content/groups/public/" } jcenter()}

依賴配置

Gradle的依賴配置和Maven兼容。所以Gradle的依賴項也由三個部分,組名,項目名和版本組成。所以一個依賴項可以寫成這樣。

compile group: 'org.hibernate', name: 'hibernate-core', version: '3.6.7.Final'

依賴項還可以按照group:name:version形式簡寫,所以上面的依賴項可以縮成這樣。

compile 'org.hibernate:hibernate-core:3.6.7.Final'

和Maven一樣,Gradle依賴項也支持作用域,這在依賴項前面的動詞上體現(xiàn)出來。常見的幾個作用域如下。

名稱 作用
compile 在項目編譯時需要
runtime 在運行時需要,默認(rèn)情況下也包括編譯時依賴
testCompile 在測試代碼編譯時需要
testRuntime 在測試代碼運行時需要,默認(rèn)情況下也包括編譯時依賴、運行時依賴和測試編譯時依賴

查找依賴項的時候推薦到mvnrepository.com上查找,這個網(wǎng)站同時提供了Maven和Gradle等多種形式的依賴項,非常方便。

定義變量

有時候可能需要在某處定義一個變量,然后在其余多處地方使用這個變量。在Gradle中需要在ext塊中定義變量,然后就可以在其他地方使用了。

// 額外的變量配置ext { springVersion = '4.3.6.RELEASE'}//依賴配置dependencies { testCompile group: 'junit', name: 'junit', version: '4.12' compile group: 'org.springframework', name: 'spring-webmvc', version: springVersion}

進階使用

Gradle Wrapper

現(xiàn)在可以說一說gradle/wrapper文件夾、gradlewgradlew.bat了。這幾個文件是Gradle Wrapper的文件。Gradle Wrapper能夠讓沒有安裝Gradle的電腦運行Gradle項目。原理很簡單,通過一個腳本文件實現(xiàn),如果當(dāng)前沒有安裝某個版本的Gradle,腳本會自動下載解壓。完成之后,當(dāng)我們通過gradlew命令運行Gradle的時候,腳本會將命令參數(shù)傳遞給實際的gradle命令。Gradle Wrapper的使用方法和Gradle一樣,只不過把gradle換成了gradlew

gradle/wrapper文件夾對Gradle Wrapper來說很重要,該文件夾下的兩個文件gradle-wrapper.jargradle-wrapper.properties缺一不可,假如要上傳到源代碼管理這兩個文件也同樣需要上傳。在gradle-wrapper.properties中我們可以配置Gradle Wrapper的一些屬性。重點是最后一行,為了使用最新和最完整的Gradle功能,我們一般要修改它為gradle-3.3-all.zip(3.3是當(dāng)前最新的Gradle版本號)。

distributionBase=GRADLE_USER_HOMEdistributionPath=wrapper/distszipStoreBase=GRADLE_USER_HOMEzipStorePath=wrapper/distsdistributionUrl=https/://services.gradle.org/distributions/gradle-3.3-all.zip

IDE集成

如果使用Eclipse或者STS這樣基于Eclipse的IDE,點擊幫助->軟件市場,搜索BuildShip插件,安裝然后重啟Eclipse,然后就可以在新建項目的時候看到Gradle了。

如果使用Intellij IDEA,由于它自帶了Gradle支持。所以直接可以在新建項目的時候選擇Gradle項目,然后根據(jù)提示操作。對于Gradle項目來說推薦的IDE還是Intellij IDEA,因為對Gradle的支持最好。

IDEA Gradle插件


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
欧美日韩精品电影| 久久精品人妻一区二区三区| 精品久久久视频| 蜜桃精品视频| 红桃视频国产一区| 国产小视频在线观看免费| 精品国产999| 精品久久久网| 一区二区三区在线不卡| 激情久久99| 欧美特黄一区| 精品1区2区3区| 日韩精品在线观看网站| 日韩三级视频在线| 国产激情在线| 最新日韩中文字幕| 精品欧美日韩在线| 久久精品蜜桃| 欧美不卡123| 91精品国产免费久久综合| 午夜视频在线观看一区| 日韩中文字幕第一页| 精品久久在线观看| 亚洲免费专区| 91av久久久| 亚洲深夜福利| 久久99精品久久久久子伦| 亚洲综合日韩欧美| av影视在线看| 亚洲第一页中文字幕| 国产午夜精品视频免费不卡69堂| 在线免费视频一区二区| 热久久精品国产| 91精品xxx在线观看| 久久99久久久久| xxxcom在线观看| 91精品国产丝袜白色高跟鞋| www.eeuss影院| 在线欧美日韩国产| 91精品视频在线| 中文字幕4区| 久久久精品99| 欧美一级免费看| 91精品国产91久久久久久青草| 精品国产1区2区3区| eeuss一区| 欧美日韩精品区| 国产成人综合精品| 日韩av一区二| 亚洲欧洲一区二区天堂久久| 日韩视频精品| 国产一区 二区 三区一级| 国产在线播放一区二区| 中文字幕五月欧美| 久久久精品国产99久久精品芒果| 国产一级片网站| 亚洲精品中文字幕乱码三区不卡| 欧美日韩免费视频| 日韩在线精品| 在线观看免费国产成人软件| 国产欧美日韩综合精品| 视频一区不卡| 日韩欧美亚洲视频| 国产成人va亚洲电影| a视频免费在线观看| 精品国产综合久久| av一卡二卡| 亚洲欧美久久久| 日韩欧美中文字幕在线视频| 免费中文字幕日韩欧美| 亚洲福利在线观看| 91精品国产自产在线| 久久精品国产91精品亚洲| 91精品免费在线观看| 欧美三级日韩三级| 国产福利在线导航| 久久在线91| a级在线免费观看| 91亚洲国产| 亚洲第一中文字幕在线观看| 国产高清精品在线| 午夜高潮免费视频| 亚洲第一视频网站| 国产在线高清精品| 国产高清视频一区二区| 欧美久久一二三四区| 日韩久久精品视频| 日韩三级视频在线看| 人人做人人澡人人爽欧美| 国产黄色片大全| 精品视频www| 亚洲天堂国产视频| 欧美日韩高清不卡| 日韩精品视频中文字幕| 不卡av免费在线| 一区三区二区视频| 免费在线观看国产黄| 欧美三级在线看| 国产农村妇女精品一二区| 国产日韩中文在线| 欧美日韩国产三级| 日韩区欧美区| av丝袜在线| 一级日韩一级欧美| 久久99精品久久久久婷婷| 国产裸舞福利在线视频合集| 欧美日本精品在线| 中文字幕欧美在线| 亚洲国产www| 日韩视频专区| 精品人妻二区中文字幕| 7799精品视频天天看| 视频一区三区| 中文字幕日韩免费视频| 亚洲福利在线看| 亚洲欧美久久久| 亚洲丝袜一区| 日韩国产在线观看一区| 亚洲深夜福利| 日韩av二区| 国产欧美日韩精品高清二区综合区| 天天摸日日摸狠狠添| 欧美一级日韩一级| 欧美 日韩 国产在线观看| 一区精品在线播放| 成人精品国产福利| 91精品国产色综合久久久蜜香臀| 亚洲欧美中文字幕| 中文字幕亚洲区| 91精品国产综合久久精品app| 中文字幕日韩精品在线| 欧美日韩国产一中文字不卡| 91久久久久久久久| 欧美 日韩 综合| 国产卡1卡2卡三卡在线| 中文字幕日韩亚洲| 欧美一级日韩一级| 国产福利一区二区在线精品| 日韩欧美在线看| 亚洲一区在线观看免费| 欧美久久一二三四区| 日韩三级一区二区| 91精品国产自产观看在线| 日韩欧美国产不卡| 精品人妻一区二区免费视频| 欧美日韩国产免费观看视频| 久久久精品免费免费| 欧美日韩精品电影| 正在播放日韩精品| 亚洲第一网中文字幕| 日韩不卡高清视频| 91精品国产手机| 精产国产伦理一二三区| 欧美日韩国产中字| 亚洲国产综合久久| 日韩av一区二区在线| 黄污视频在线看| 欧美日韩国产片| 日本黄色一区二区| 不卡专区在线| 国产九九在线| 国产免费久久久| 午夜一区二区三区视频| 久久久精品日韩| 日韩亚洲欧美中文高清在线| 国产视频一区三区| 国产一级视频| 亚洲欧美99| 99精品一级欧美片免费播放| 日韩一级二级三级精品视频| 日韩精品视频在线观看网址| 国产99亚洲| 三级网站免费观看| 欧美亚洲国产日韩2020| 国产欧美综合在线| 日本黄色一区二区| 成人精品国产福利| 国产欧美中文在线| 一区二区三区中文字幕在线观看| 精品欧美不卡一区二区在线观看| 欧美日韩精品是欧美日韩精品| 一区二区三区精品在线| 91精品国产综合久久精品| 精品久久久久久综合日本欧美| 91www成人久久| 91久久久久| 亚洲大片精品永久免费| 日本一欧美一欧美一亚洲视频| 国产欧美久久久| 国产中文伊人| 亚洲成av人综合在线观看| 亚洲va韩国va欧美va精品| 不卡视频一区二区| 免费在线视频一区二区| 欧美熟妇乱码在线一区| 中文字幕 欧美 日韩| 精品国产99久久久久久| 日韩av一区二区在线| 丰满少妇一区二区| 亚洲一级在线| 欧洲精品久久久| 一区二区91| 日韩在线高清视频| 国产乱码午夜在线视频| 国产福利不卡| 一区二区三区视频网站 | 你懂的亚洲视频| 欧美日韩高清不卡| 美国av一区二区| 国产日产一区二区三区 | 国产蜜臀在线| 欧美午夜精品在线| 99热最新网址| 日韩欧美亚洲视频| 91精品国产91久久| 精品网站999| 国产www.大片在线| 日韩在线视频免费观看| 欧美国产三级| 欧美三级网址| 国产小视频在线| 色偷偷一区二区三区| 午夜福利一区二区三区| 日韩欧美久久| 一区免费视频| 一区二区国产在线| 91精品久久久久久久久久入口| 国产视频中文字幕在线观看| 精品熟女一区二区三区| 国产 欧美 日韩 在线| 欧美 日韩 国产 在线观看| 天天综合日日夜夜精品| 一区二区三区精品在线观看| 精品日韩一区二区三区免费视频| 久久久久久自在自线| 综合图区亚洲白拍在线| 黄色一区二区视频| 黄色在线资源| 九色蝌蚪视频在线| 91精品电影| 日韩精品在线免费观看视频| 亚洲欧洲日韩精品在线| 久久精品卡一| 中文亚洲欧美| 日韩精品在线免费观看视频| 色www精品视频在线观看| 日韩欧美高清在线| 中文字幕日韩欧美在线视频| 国产欧美中文在线| 欧美 日韩 国产 在线观看| 午夜伦欧美伦电影理论片| 日韩欧美中文第一页| 欧美性生交大片免费| 一区二区在线高清视频| 日韩在线 中文字幕| 日韩欧美色综合| 欧美 日韩 综合| 久久精品在线免费观看| 日韩在线观看视频一区二区| 在线视频一区二区三区在线播放| 99视频一区| 国产欧美日韩在线观看| 亚洲狠狠婷婷综合久久久久图片| 精品在线99| 日韩欧美国产亚洲| 欧美日韩国产一中文字不卡| 国产羞羞视频在线播放| 中文字幕日韩免费视频| 亚洲天堂国产视频| 91精品蜜臀在线一区尤物| 亚洲最新永久观看在线| 亚洲三级av| 国产一级免费| 二区中文字幕| 日韩三级一区二区| 亚洲高清视频一区| 欧美日韩中文字幕日韩欧美| 欧美日韩91| 国产一二三区精品视频| 日韩国产高清一区| 日韩欧美在线中字| 国产视频一区三区| 亚洲欧洲一区二区天堂久久| 在线手机中文字幕| 精品全国在线一区二区| 中文字幕在线视频精品| 亚洲福利精品视频| www.狠狠干| 国产欧美久久久| 91精品免费看| 亚洲视频色图| 亚洲一级特黄| 日韩中文字幕在线一区| 欧美在线观看视频一区| 999在线视频| 欧洲精品二区| 国产一区日韩欧美| 亚洲国产一区自拍| 久久综合久久综合九色| 亚洲大片免费看| 久久精品99久久久久久久久| 国产视频aaa| 国产成人精品综合网站| 欧美日韩在线播放三区四区| 日韩欧中文字幕| 欧美日韩中国免费专区在线看| 精品视频在线视频| 免费在线视频一区二区| 欧美日韩亚洲国内综合网| 中文字幕高清在线播放| 午夜国产视频 | 中文在线视频| 中文字幕第一页在线| 久久在线91| 国产福利久久| 亚洲免费婷婷| 亚洲综合视频一区| 国产精品一区二三区| 日韩欧美国产高清| 亚洲影视资源网| 亚州黄色一级| 日韩av不卡在线观看| 亚洲二区自拍| 欧美不卡一区二区| 亚洲大片免费看| 91久久在线| 国产在线精品日韩| 亚洲大片精品永久免费| 国产中文在线视频| 亚洲一区在线观看网站| 亚洲图片小说综合| 欧美日韩中文字幕综合视频| 亚洲狠狠婷婷综合久久久久图片| 中文字幕亚洲一区在线观看| 国产日产一区二区三区| 91精品国产91久久久| 色综合婷婷久久| 顶级网黄在线播放| 国产欧美日韩91| 欧美日韩中文字幕日韩欧美| 在线日韩中文| 日韩中文首页| 首页国产欧美久久| 国产日产一区二区三区| 国产不卡的av| 欧美国产一级| 成片免费观看| 中文字幕亚洲免费| 中文字幕在线视频网| www在线播放| 一区二区三区视频网站| 日本精品福利视频| 久久视频在线免费观看| 欧美日韩中文另类| 91精品久久久久久久91蜜桃| 欧美日韩国产一区在线| 亚洲第一精品在线| 一区二区三区中文字幕在线观看| 深夜福利亚洲| 在线日韩中文字幕| 日韩va亚洲va欧洲va国产| 日韩欧美中文免费| 日韩欧美国产高清91| 国产成人精品综合久久久| 欧美高清视频一区二区三区| 亚洲视频 中文字幕| 本道综合精品| 免费看日韩精品| 亚洲制服丝袜一区| 91精品久久久久久久久| 日韩欧美三级视频| 国产成人精品999在线观看| 五月天久久比比资源色| 日韩精品在线免费看| 日韩福利视频导航| 91精品国产综合久久香蕉最新版| 国产绿帽一区二区三区| 一区二区日韩免费看| 一区二区视频国产| 欧美黄页在线免费观看| 91精品国产综合久久蜜臀| 欧美日韩亚洲国内综合网俺| 亚洲一区中文在线| √新版天堂资源在线资源| 欧美日本精品| 日韩三级视频在线播放| 你懂的亚洲视频| www.eeuss影院| 日韩在线精品视频| 日韩精品视频在线观看网址| 免费在线国产| 国产在线精品日韩| 一区二区三区鲁丝不卡| 亚洲最新永久观看在线| 久久精品久久精品国产大片| 欧美日韩视频网站| 中文字幕成人乱码在线电影| 日韩欧美99| 欧美日韩国产在线播放| 精品日韩欧美在线|