Gradle學習之構建java與web項目

一.使用Gradle的java插件構建Java項目

1)Gradle插件包含了若干個接口定義和已有的任務項,語法結構:apply plugin:'插件名' ,此處我們定義插件

apply plugin : 'java'

?

2)Gradle希望我們的java項目需要遵循以下規范:

    src/main/java :放置java源文件
    src/test/java :放置測試文件,比如單元測試等
    src/main/resources: 此目錄下的文件會被作為資源文件打入jar包
    src/test/resources: 放置提供給測試用的配置文件


3) java插件包含了若干個構建項目的任務,最常用的就是build任務,當我們運行build任務時,Gradle會編譯,運行我們的測試腳本(類)并生成jar文件在build/lib下

4) 其他常用的任務:
    clean:刪除已經構建的目錄及其文件
    assemble:編譯并生成Jar或者war文件,注意不會運行測試文件
    check:編譯并測試代碼

二.外部依賴

?

1)和maven類似,如果要在項目中添加所依賴的外部jar文件,我們必須要告訴Gradle在哪里找到它們
語法:

 1 repositories {
 2     jcenter()
 3     mavenLocal() //maven本地倉庫
 4     mavenCentral() //maven中心倉庫
 5     /* 
 6         指定maven遠程倉庫地址
 7      */
 8     maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
 9     maven { url "http://repo.spring.io/snapshot" }
10     maven { url "http://repo.spring.io/milestone" }
11 }

?

2)當指定好倉庫地址時,我們可以添加依賴
語法:

dependencies{compile group:'類似于maven中的groupid',name:'類似于maven中的affactid',version:'版本號'compile 'group:name:version'
}

?

三.java多項目構建

?1)gradle也可以支持多項目構建,比如說如下項目:

  multiproject/
    api/
    services/webservice/
    shared/
    services/shared/
2)此時我們要在settings.gradle里配置 依賴的模塊:

include "shared", "api", "services:webservice", "services:shared"

?


3)比如說 shared模塊要依賴api模塊 我們可以在shared模塊中的build.gradle文件中這樣寫:

dependencies {compile project(':shared')
}

?

4)常見屬性
sourceCompatibility: 使用哪種JDK版本編譯
targetCompatibility : 生成class的Java版本

?

四。構建web項目

1)需要添加web插件:apply plugin:'war'
2) war任務 主要用于將web應用程序打包成war
3) 與maven規范一致:web的相關資源位于src/main/webapp下

使用示例:

war {from 'src/rootContent' // adds a file-set to the root of the archivewebInf { from 'src/additionalWebInf' } // adds a file-set to the WEB-INF dir.classpath fileTree('additionalLibs') // adds a file-set to the WEB-INF/lib dir.classpath configurations.moreLibs // adds a configuration to the WEB-INF/lib dir.webXml = file('src/someWeb.xml') // copies a file to WEB-INF/web.xml
}

另外我們可以設置webAppDirName來指定我們web上下文路徑

?

轉載于:https://www.cnblogs.com/niechen/p/8270654.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/539640.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/539640.shtml
英文地址,請注明出處:http://en.pswp.cn/news/539640.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Hibernate單表開發步驟

Hibernate單邊開發步驟: 1、創建Configuration,加載src/hibernate.cfg.xml配置文件,該配置文件中又去加載Hello.hbm.xml映射文件。 2、通過Configuration創建重量級SessionFactory。重量級:創建慢,內存占用大&#…

基于ssm出租車管理系統的設計與實現論文

摘 要 現代經濟快節奏發展以及不斷完善升級的信息化技術,讓傳統數據信息的管理升級為軟件存儲,歸納,集中處理數據信息的管理方式。本出租車管理系統就是在這樣的大環境下誕生,其可以幫助管理者在短時間內處理完畢龐大的數據信息&…

redission java_Java注解如何基于Redission實現分布式鎖

這篇文章主要介紹了Java注解如何基于Redission實現分布式鎖,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下1、定義注解類Target({ ElementType.METHOD })Retention(RetentionPolicy.RUNTIME)Documentedpublic i…

Spring Security源碼分析四:Spring Social實現微信社交登錄

2019獨角獸企業重金招聘Python工程師標準>>> 社交登錄又稱作社會化登錄(Social Login),是指網站的用戶可以使用騰訊QQ、人人網、開心網、新浪微博、搜狐微博、騰訊微博、淘寶、豆瓣、MSN、Google等社會化媒體賬號登錄該網站。 前言…

jdbc開發優缺點

1)優點:簡單易學,上手快,非常靈活構建SQL,效率高 2)缺點:代碼繁瑣,難以寫出高質量的代碼(例如:資源的釋放,SQL注入安全性等) 開發者既要寫業務邏輯&#xff0…

java numberformat 方法_Java NumberFormat parse()用法及代碼示例

parse(str)方法是java.text.NumberFormat的內置方法,該方法從給定字符串的開頭解析文本以產生數字。該方法可能不使用給定字符串的整個文本用法:public Number parse?(String str)參數:該函數接受一個字符串str,其開頭應進行分析。返回值&am…

hibernate開發優缺點

1)優點:不用寫SQL,完全以面向對象的方式設計和訪問,不用管底層具體數據庫的語法,(例如:分頁)便于理解。 2)缺點:處理復雜業務時,靈活度差, 復雜的…

求方程的解 Solve the Equation

為什么80%的碼農都做不了架構師?>>> 問題: Solve a given equation and return the value of x in the form of string "x#value". The equation contains only , - operation, the variable x and its coefficient. If there is …

[C#學習] DataAdapter.Fill()分頁

查詢結果分頁是以較小數據子集(即頁)的形式返回查詢結果的過程。 它通常用于以易于管理的小塊形式向用戶顯示結果。DataAdapter 提供了通過 Fill 方法的重載來僅返回一頁數據的功能。 但是,對于大量的查詢結果,它可能并不是首選的…

java流讀取字符串_javaIO之字符流是怎么讀取的?

最近在看io相關的知識,遇到一些小問題,以下有例子來說明問題:比如:12345 是一個十進制數根據ASCII碼找到是 :二進制 00110001 00110010 00110011 00110100 00110101十進制4950515253十六進制 0x310x320x330x340x35文件…

什么是mybatis,mybatis有什么特點

jdbc開發優缺點:http://blog.csdn.net/zengmingen/article/details/51180796 hibernate開發優缺點:http://blog.csdn.net/zengmingen/article/details/51180805 1)基于上述二種支持,我們需要在中間找到一個平衡點呢?結…

簡易RPC框架實現

寫在最前面 PRC(Remote Procedure Call) 遠程過程調用。通俗的講就是程序通過RPC框架調用遠程主機的方法就如同調用本地方法一樣。Dubbo就是這樣一個Rpc框架,本文主要參考Dubbo的設計思路,簡易實現了Rpc框架。 本文涉及到知識點包括: Jdk 動態…

kafka java獲取topic_通過編程方式獲取Kafka中Topic的Metadata信息

如果我們需要通過編程的方式來獲取到TopicMetadataRequest請求到 def findLeader(topic: String): Unit {val consumer connect("www.iteblog.com", 9092)val req TopicMetadataRequest(TopicMetadataRequest.CurrentVersion,0, kafkaGroupId, List(topic))val to…

redis java 遍歷key_java遍歷讀取整個redis數據庫實例

redis提供了靈活的數據查詢方式,最牛的就是key的搜索支持正則表達式。jedis.keys(“*”);表示搜索所有keyjedis.keys(“abc*”)表示搜索開頭為abc的key數據遍歷了key就能遍歷到value。其實就是一個setRedisDO rd new RedisDO();rd.open();Set s rd.jedis.keys(&qu…

js學習

為什么80%的碼農都做不了架構師?>>> /* my code */ var gArrSpell [ 1111, 2222, 3333, 4444, 5555, 6666, 7777, 8888, 999999, AAAA, bbbb, cccc, dddd, eeee, fffff ];var gArrSplDmg [11,12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24…

代碼在eclipse下不報錯,在doc命令行下報錯--jar file和runable jar file

今天開發一個小工具,引用了Log4j,來記錄日志,在eclipse下運行,代碼正常,打包成jar放到doc命令行下運行報錯: Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/logging/…

gradle java ide_使用Gradle構建Java項目

使用Gradle構建Java項目這個手冊將通過一個簡單的Java項目向大家介紹如何使用Gradle構建Java項目。我們將要做什么?我們將在這篇文檔航中創建一個簡單的Java項目,然后使用Gradle構建它。需要準備什么?預留15分鐘空閑時間一件稱手的兵器(你最喜…

小馬激活軟件下載,當心偽小馬,有病毒

官方的小馬激活軟件已經停止更新了,下文是官方停更公告。 http://www.pccppc.com/xiaomajihuo-html 所以小馬oem7以后的都不是官方的,包含病毒。重裝系統后,一般是先激活系統,再安裝殺毒軟件,這就給“偽小馬激活工具”…

truncate,delete,drop之間的區別

TRUNCATE TABLE 在功能上與不帶 WHERE 子句的 DELETE 語句相同:二者均刪除表中的全部行。 但 TRUNCATE TABLE 比 DELETE 速度快,且使用的系統和事務日志資源少。 DELETE 語句每次刪除一行,并在事務日志中為所刪除的每行記錄一項。 TRUNCATE…

三張圖搞懂JavaScript的原型對象與原型鏈

對于新人來說,JavaScript的原型是一個很讓人頭疼的事情,一來prototype容易與__proto__混淆,二來它們之間的各種指向實在有些復雜,其實市面上已經有非常多的文章在嘗試說清楚,有一張所謂很經典的圖,上面畫了…