Gradle初探(二):build.gradle常用配置(java和web項目)

3. 常用配置(針對JAVA和WEB項目)

?

打開build.gradle文件责嚷,由于是IDEA創(chuàng)建的,所以里面已經(jīng)有了一些內(nèi)容亦渗。

圖3.1

group和version分別為項目的所在組和版本信息又兵。和Maven類似,而artifactId在gradle則是項目的name枫笛,值保存在settings.gradle文件的rootProject.name中吨灭。

針對java項目和web項目,根據(jù)官方文檔刑巧,我將build.gradle進行了如下修改喧兄,如圖所示:

圖3.2


apply plugin: 'java'//添加Java插件

apply plugin :'maven'//添加Maven插件

添加Java和Maven插件无畔,可以使用兩者的相關(guān)配置。


sourceCompatibility=1.7

targetCompatibility =1.7

分別指定開發(fā)環(huán)境和編譯使用的JDK版本吠冤。根據(jù)Maven項目經(jīng)驗浑彰,在不同IDE間導入Maven項目時,經(jīng)常會出錯拯辙,通過指定JDK可以有效解決此問題郭变,故保險起見,這里也加上涯保。


task createJavadoc(type: Javadoc) ?{

? ? ? source = sourceSets.main.allJava

}

配置了這個任務(wù)后诉濒,執(zhí)行g(shù)radle的javadoc命令,可以自動生產(chǎn)javaDoc文檔夕春。前提當然你自己有給類和方法按規(guī)范添加注解未荒。


tasks.withType(JavaCompile) {

? ? ? ? options.encoding ="UTF-8"

}

設(shè)置編碼為UTF-8,如果不設(shè)置及志,則注釋有中文等情況時片排,生成javaDoc會出現(xiàn)亂碼,并且執(zhí)行build命令時會出現(xiàn)警告和錯誤速侈。


repositories {

? ? ? mavenLocal()//添加Maven本地資源庫

? ? ? mavenCentral()//添加Maven中央資源庫

}

配置獲取資源的資源庫

mavenLocal()表示會從本地獲取資源率寡,獲取資源的順序為

%USER_HOME%/.m2/settings.xml中指定的路徑 >?

%M2_HOME%/conf/settings.xml中指定的路徑 >

?%USER_HOME%/.m2/repository。

注:這里發(fā)現(xiàn)一個BUG倚搬,按照官方文檔說勇劣,如果系統(tǒng)用戶文件夾下的.m2中不存在settings.xml文件會自動去找%M2_HOME%的settings.xml文件,實際卻不會潭枣,然后直接指向了%USER_HOME%/.m2/repository比默。建議自定義maven本地庫的,把%M2_HOME%的settings.xml文件COPY一份到%USER_HOME%/.m2目錄下即可盆犁。


mavenCentral()表示會從Maven中央庫獲取數(shù)據(jù)命咐。

除這2種,gradle還可以從指定的URL獲取資源谐岁,比如:

repositories {

? ? maven {

? ? ? ? url"http://127.0.0.1:8081/nexus/content/repositories/"

? ? }

? ? ?mavenLocal()//添加Maven本地資源庫

? ? ?mavenCentral()//添加Maven中央資源庫

}

這里除了本地和中央庫醋奠,還會從我本地的Maven私服中獲取資源。


dependencies {

? ? ?testCompile 'junit:junit:4.12'//添加單元測試

? ? ?testCompile 'org.springframework:spring-test:4.2.5.RELEASE'// Spring測試支持

? ? ?compile 'org.springframework:spring-context:4.2.5.RELEASE'

}

添加依賴包伊佃,和Maven類似窜司。上面我采用的是簡寫語法,還有一種是完整的寫法航揉,如下:

testCompile group:'junit', name:'junit', version:'4.12'

和Maven類似塞祈,gradle導入依賴包也可以定義其作用的生命周期:

compile:編譯時必須。

runtime:運行時必須帅涂,包括編譯時议薪。

testCompile:測試編譯時必須尤蛮。

testRuntime:測試運行時必須,包括編譯時斯议。

注:此外配置依賴包产捞,還可以模塊化配置、導入list哼御、配置是否傳遞等坯临。還沒細看。

以上這些已經(jīng)可以支撐平常的java或web項目開發(fā)了恋昼。接下來還有一個問題尿扯,項目開發(fā)時,經(jīng)常會模塊化開發(fā)焰雕,有時候有些jar可以復(fù)用,或者項目需要按不同版本(SNAPSHOT/RELEASE等)發(fā)布到Maven私服中芳杏,下面就說說如何發(fā)布項目到Maven私服等資源庫中矩屁。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市爵赵,隨后出現(xiàn)的幾起案子吝秕,更是在濱河造成了極大的恐慌,老刑警劉巖空幻,帶你破解...
    沈念sama閱讀 206,839評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件烁峭,死亡現(xiàn)場離奇詭異,居然都是意外死亡秕铛,警方通過查閱死者的電腦和手機约郁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來但两,“玉大人鬓梅,你說我怎么就攤上這事〗飨妫” “怎么了绽快?”我有些...
    開封第一講書人閱讀 153,116評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長紧阔。 經(jīng)常有香客問我坊罢,道長,這世上最難降的妖魔是什么擅耽? 我笑而不...
    開封第一講書人閱讀 55,371評論 1 279
  • 正文 為了忘掉前任活孩,我火速辦了婚禮,結(jié)果婚禮上乖仇,老公的妹妹穿的比我還像新娘诱鞠。我一直安慰自己挎挖,他們只是感情好寞焙,可當我...
    茶點故事閱讀 64,384評論 5 374
  • 文/花漫 我一把揭開白布肄梨。 她就那樣靜靜地躺著,像睡著了一般关顷。 火紅的嫁衣襯著肌膚如雪阳掐。 梳的紋絲不亂的頭發(fā)上始衅,一...
    開封第一講書人閱讀 49,111評論 1 285
  • 那天,我揣著相機與錄音缭保,去河邊找鬼汛闸。 笑死,一個胖子當著我的面吹牛艺骂,可吹牛的內(nèi)容都是我干的诸老。 我是一名探鬼主播,決...
    沈念sama閱讀 38,416評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼钳恕,長吁一口氣:“原來是場噩夢啊……” “哼别伏!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起忧额,我...
    開封第一講書人閱讀 37,053評論 0 259
  • 序言:老撾萬榮一對情侶失蹤厘肮,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后睦番,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體类茂,經(jīng)...
    沈念sama閱讀 43,558評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,007評論 2 325
  • 正文 我和宋清朗相戀三年托嚣,在試婚紗的時候發(fā)現(xiàn)自己被綠了巩检。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,117評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡示启,死狀恐怖碴巾,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情丑搔,我是刑警寧澤厦瓢,帶...
    沈念sama閱讀 33,756評論 4 324
  • 正文 年R本政府宣布,位于F島的核電站啤月,受9級特大地震影響煮仇,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜谎仲,卻給世界環(huán)境...
    茶點故事閱讀 39,324評論 3 307
  • 文/蒙蒙 一浙垫、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦夹姥、人聲如沸杉武。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽轻抱。三九已至,卻和暖如春旦部,著一層夾襖步出監(jiān)牢的瞬間祈搜,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評論 1 262
  • 我被黑心中介騙來泰國打工士八, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留容燕,地道東北人。 一個月前我還...
    沈念sama閱讀 45,578評論 2 355
  • 正文 我出身青樓婚度,卻偏偏與公主長得像蘸秘,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子蝗茁,可洞房花燭夜當晚...
    茶點故事閱讀 42,877評論 2 345

推薦閱讀更多精彩內(nèi)容

  • 前言 有人說Gradle使用groovy語言編寫醋虏,簡單,明了沒像maven使用xml臃腫评甜,其實我倒不覺得,我覺得m...
    alcohol和cat閱讀 595評論 1 2
  • 我們已經(jīng)知道仔涩,Gradle是一個非常靈活的構(gòu)建框架忍坷,他提供了構(gòu)建的基礎(chǔ)核心,為了對具體的業(yè)務(wù)進行構(gòu)建熔脂,Gradle...
    acc8226閱讀 1,356評論 0 4
  • 依賴管理是Gradle的一個亮點佩研。在最好的情況下,你只需要在構(gòu)建文件中添加一行代碼霞揉,Gradle就可以從遠程倉庫下...
    sollian閱讀 5,121評論 0 3
  • 1. 什么是gradle? 很高興能向大家介紹Gradle,這是一個基于JVM的富有突破性構(gòu)建工具旬薯。 它為您提供了...
    eSky閱讀 649評論 1 0
  • 你是表面平靜,內(nèi)心卻糾結(jié)不安适秩,明明知道有辦法解決绊序,卻還想盡早辦好,放輕松秽荞,船到橋頭自然直骤公。 你是缺乏會聊天的技能的...
    忍冬六旬閱讀 253評論 1 1