摘要:前言雖然勢(shì)頭很猛,但是依然是項(xiàng)目構(gòu)建的優(yōu)先選擇,本文簡(jiǎn)要介紹一些工程實(shí)踐多模塊如果工程比較復(fù)雜,或者預(yù)期后續(xù)會(huì)變的比較復(fù)雜,可以將工程分成多個(gè)模塊,常用的分模塊的方法,核心代碼,工具,服務(wù),前端在頂層文件中聲明工程包含的各個(gè)模塊在子模塊文件
前言
雖然 Gradle 勢(shì)頭很猛,但是 Maven 依然是 Java 項(xiàng)目構(gòu)建的優(yōu)先選擇,本文簡(jiǎn)要介紹一些 Maven 工程實(shí)踐
多模塊(multiple module)如果工程比較復(fù)雜,或者預(yù)期后續(xù)會(huì)變的比較復(fù)雜,可以將工程分成多個(gè)模塊,常用的分模塊的方法:
core,核心代碼)
util/common,工具
service,服務(wù)
web/front,web 前端
在 root(頂層)pom 文件中聲明工程包含的各個(gè)模塊
... pom core service util web
在子模塊 pom 文件中聲明 parent pom
插件... com.aachuxing.gov.report ... 1.0
使用 Maven 離不開(kāi)各種各樣的插件,簡(jiǎn)單介紹一下常用的插件,詳細(xì)使用說(shuō)明可以參考官方文檔,或者直接 google/baidu,在聲明插件的時(shí)候推薦:
將 屬性值(jdk.version)定義在 properties 標(biāo)簽中
將 build 標(biāo)簽聲明在 root pom 中
maven-compiler-pluginmaven-compiler-plugin 可以指定 jdk 版本,推薦設(shè)置 jdk8 以上版本
maven-surefire-plugin... 1.8 org.apache.maven.plugins maven-compiler-plugin ${jdk.version} ${jdk.version} ${jdk.version}
maven-surefire-plugin 用來(lái)排除一些你不想在持續(xù)集成中運(yùn)行 test case,它們可能僅僅是你用來(lái)測(cè)試你的代碼,比如測(cè)試 dao 中 SQL 書(shū)寫(xiě)是否有問(wèn)題
maven-assembly-plugin... org.apache.maven.plugins maven-surefire-plugin 2.19.1 **/XXXTest.java
通常一個(gè) Java 工程除了 jar 包之外還有各種各樣的文件:shell 腳本,properties(屬性)文件,數(shù)據(jù)文件(json, xml),使用 maven-assembly-plugin 可以對(duì)工程打包部署做深度定制
... org.apache.maven.plugins maven-assembly-plugin 2.6 make-assembly package single src/main/assembly/assembly1.xml src/main/assembly/assembly2.xml src/main/assembly/assembly3.xml
assembly.xml 配置文件用于配置具體的打包過(guò)程,在 descriptors 標(biāo)簽中可以指定多個(gè)配置文件,實(shí)現(xiàn)一套代碼打出多個(gè) "渠道包"
下面是一個(gè) assembly.xml 文件示例:
${id} tar.gz false src/main/assembly/bin bin startup.sh shutdown.sh 0755 ${project.build.directory}/classes / config.properties log4j2.xml 0644 lib
formats,通過(guò)后綴名指定打包文件格式,tar.gz, zip, war .etc
fileSets,指定哪些文件被打到包里頭
maven-dependency-pluginmaven-dependency-plugin 用于管理依賴(lài),一個(gè)應(yīng)用場(chǎng)景是將依賴(lài)的 jar 包解開(kāi)合并到工程中
總結(jié)maven-dependency-plugin prepare-package unpack com.compony.xxx yyy ${project.build.outputDirectory}
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/66874.html
摘要:是一個(gè)優(yōu)秀的項(xiàng)目管理工具。目前市面上優(yōu)秀的書(shū)籍就是實(shí)戰(zhàn)。就表示將依賴(lài)的包路徑寫(xiě)入到文件中。但要注意,寫(xiě)入的只是包的名字,所以運(yùn)行的包要和包要在同一個(gè)目錄下。此外,去搜索想要的包的配置。這個(gè)時(shí)候去官網(wǎng)下載,找里面的文件配置。 maven是一個(gè)優(yōu)秀的項(xiàng)目管理工具。目前市面上優(yōu)秀的書(shū)籍就是《maven實(shí)戰(zhàn)》。依舊不能解決問(wèn)題:1.maven內(nèi)置變量Maven內(nèi)置變量說(shuō)明: ${basedi...
摘要:接下來(lái),本文將重點(diǎn)闡述在環(huán)境的多模塊構(gòu)建過(guò)程。本項(xiàng)目傳送門(mén)一創(chuàng)建聚合父工程首先使用來(lái)快速創(chuàng)建好一個(gè)工程。然后在里面聲明該父工程包含的子模塊。 序言:比起傳統(tǒng)復(fù)雜的單體工程,使用Maven的多模塊配置,可以幫助項(xiàng)目劃分模塊,鼓勵(lì)重用,防止POM變得過(guò)于龐大,方便某個(gè)模塊的構(gòu)建,而不用每次都構(gòu)建整個(gè)項(xiàng)目,并且使得針對(duì)某個(gè)模塊的特殊控制更為方便。接下來(lái),本文將重點(diǎn)闡述SpringBoot在M...
摘要:響應(yīng)式編程是基于異步和事件驅(qū)動(dòng)的非阻塞程序,只是垂直通過(guò)在內(nèi)啟動(dòng)少量線程擴(kuò)展,而不是水平通過(guò)集群擴(kuò)展。三特性常用的生產(chǎn)的特性如下響應(yīng)式編程模型適用性?xún)?nèi)嵌容器組件還有對(duì)日志消息測(cè)試及擴(kuò)展等支持。 摘要: 原創(chuàng)出處 https://www.bysocket.com 「公眾號(hào):泥瓦匠BYSocket 」歡迎關(guān)注和轉(zhuǎn)載,保留摘要,謝謝! 02:WebFlux 快速入門(mén)實(shí)踐 文章工程: JDK...
摘要:重度強(qiáng)迫癥患者取消大小寫(xiě)敏感,讓自動(dòng)完成更齊全。如何為當(dāng)前項(xiàng)目工程添加多個(gè)模塊啊答對(duì)著工程右鍵選擇通常選擇,如圖寫(xiě)在最后歡迎關(guān)注喜歡和點(diǎn)贊后續(xù)將推出更多的工具集教程,敬請(qǐng)期待。公眾號(hào)回復(fù)面試,領(lǐng)取面試實(shí)戰(zhàn)學(xué)習(xí)資源。 showImg(https://segmentfault.com/img/remote/1460000018862588); 前言:IntelliJ IDEA 如果說(shuō)Int...
閱讀 3491·2021-11-23 09:51
閱讀 3147·2021-10-28 09:33
閱讀 1139·2021-10-08 10:04
閱讀 3861·2021-09-22 15:13
閱讀 1146·2019-08-30 15:55
閱讀 3042·2019-08-30 15:44
閱讀 717·2019-08-30 13:04
閱讀 3065·2019-08-30 12:56