一、前言
對於開發一個Java專案,上線之前會通過編譯,測試,打包,部署這幾個構建過程,如果檔案較少,我們可以使用java-->javac-->jar這些命令去完成上述的構建流程。但是當工程越來越大,檔案越來越多。Java原生的命令就顯得捉襟見肘,力不存心了。Maven基於POM管理jar包依賴,通過自身的生命週期實現專案的構建流程。具體構建原理可自行百度/谷歌。本文主要為大家分享一些比較實用的maven使用技巧。
二、配置技巧
1. 多辦公環境開發配置技巧
在公司辦公時,依賴包載入會用公司的私服;在家辦公時,依賴包載入會用阿里/網易等國內映象。辦公環境切換時,我們想通過簡單的方式切換,而不是每次都更改maven的settings配置檔案,怎麼辦呢?可參考如下方案:
<settings>
<profile>
<id>company</id>
<repositories>
<repository>
<id>nexus</id>
<name>nexus-repositories</name>
<url>http://xxxx.xxxx.xxx:xxxx/nexus/content/repositories</url>
<releases>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
<checksumPolicy>warn</checksumPolicy>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
</profile>
<profile>
<id>home</id>
<repositories>
<repository>
<id>aliyun</id>
<name>central</name>
<url>https://maven.aliyun.com/repository/central</url>
<releases>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
</repository>
</repositories>
</profile>
<activeProfiles>
<activeProfile>company</activeProfile>
<activeProfile>home</activeProfile>
</activeProfiles>
</settings>
配置完之後,idea會在側邊欄出現可選框,點選相應的辦公環境即可,再次打包即可。
如下圖:
2. 構建日誌輸出配置技巧
打包時,我們會注意到構建日誌會輸出到螢幕,如果工程比較大,相應的大量日誌也會輸出。那有沒有辦法可以調整輸出的日誌級別的,答案是有的,可參考下面的三種方案:
- 編輯mvn執行檔案 ${MAVEN_HOME}/bin/mvn 新增一行配置
MAVEN_OPTS="-Dorg.slf4j.simpleLogger.defaultLogLevel=warn"
- maven安裝目錄下:conf/logging/simplelogger.properties 修改輸出日誌級別
org.slf4j.simpleLogger.defaultLogLevel=warn
- 在執行mvn命令的時候使用引數 -q,不過這樣只能輸出error資訊
mvn clean package -DskipTests -q
3. 檔案過濾打包配置技巧
我們有時希望maven打包時只把某些資原始檔打入jar包,而並不是所有的檔案,此時我們可以在POM檔案做如下配置:
<!--配置Maven 對resource檔案 過濾 -->
<resources>
<resource>
<directory>src/main/resources</directory>
<!-- 打包時,只載入aa.properties和bb.xml -->
<includes>
<include>**/aa.properties</include>
<include>**/bb.xml</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
4. 離線開發的配置技巧
有時處於安全考慮我們需要在斷網的環境下進行開發,例如生產環境。此時不能連線外網依賴如何載入呢?如何進行開發呢?maven提供了離線模式,前提是需要將下載好依賴包上傳到內網環境並安裝maven等相關工具,可參考如下兩種方案:
- 在 settings.xml中進行更改 在第一個標記中新增
<localRepository>~/.m2/repository</localRepository>
<offline>true</offline>
使用mvn clean package -DskipTests=true進行打包
- 在pom檔案中指定本地倉庫
<repositories>
<repository>
<id>local</id>
<name>local Repository</name>
<url>file://${project.basedir}/.m2/repository</url>
</repository>
</repositories>
使用mvn -o clean install -DskipTests=true進行打包
三、總結
以上就是今天大獅兄和大家分享的關於maven配置相關的內容,包含多辦公環境切換的配置、構建日誌輸出的配置、打包檔案過濾的配置、離線開發的配置。文章觀點或者結論亦或其他如有錯誤,歡迎大家評論或者私信進行斧正。同時如果此篇文章對大家有所幫助,也歡迎大家點贊、收藏、關注。