日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

maven集成命令-U -B -P -e -X

發(fā)布時間:2023/12/10 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 maven集成命令-U -B -P -e -X 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

maven -U clean compile install -e -X -Dmaven.test.skip=true

?

在持續(xù)集成服務(wù)器上使用怎樣的 mvn 命令集成項目,這個問題乍一看答案很顯然,不就是 mvn clean install 么?事實上比較好的集成命令會稍微復(fù)雜些,下面是一些總結(jié):

不要忘了clean: clean能夠保證上一次構(gòu)建的輸出不會影響到本次構(gòu)建。
使用deploy而不是install: 構(gòu)建的SNAPSHOT輸出應(yīng)當(dāng)被自動部署到私有Maven倉庫供他人使用,這一點在前面已經(jīng)詳細(xì)論述。
使用-U參數(shù): 該參數(shù)能強(qiáng)制讓Maven檢查所有SNAPSHOT依賴更新,確保集成基于最新的狀態(tài),如果沒有該參數(shù),Maven默認(rèn)以天為單位檢查更新,而持續(xù)集成的頻率應(yīng)該比這高很多。
使用-e參數(shù):如果構(gòu)建出現(xiàn)異常,該參數(shù)能讓Maven打印完整的stack trace,以方便分析錯誤原因。
使用-Dmaven.repo.local參數(shù):如果持續(xù)集成服務(wù)器有很多任務(wù),每個任務(wù)都會使用本地倉庫,下載依賴至本地倉庫,為了避免這種多線程使用本地倉庫可能會引起的沖突,可以使用-Dmaven.repo.local=/home/juven/ci/foo-repo/這樣的參數(shù)為每個任務(wù)分配本地倉庫。

使用-B參數(shù):該參數(shù)表示讓Maven使用批處理模式構(gòu)建項目,能夠避免一些需要人工參與交互而造成的掛起狀態(tài)。

綜上,持續(xù)集成服務(wù)器上的集成命令應(yīng)該為 mvn clean deploy -B -e -U -Dmaven.repo.local=xxx 。此外,定期清理持續(xù)集成服務(wù)器的本地Maven倉庫也是個很好的習(xí)慣,這樣可以避免浪費磁盤資源,幾乎所有的持續(xù)集成服務(wù)器軟件都支持本地的腳本任務(wù),你可以寫一行簡單的shell或bat腳本,然后配置以天為單位自動清理倉庫。需要注意的是,這么做的前提是你有私有Maven倉庫,否則每次都從Internet下載所有依賴會是一場噩夢。

項目開發(fā)需要有多個環(huán)境,一般為開發(fā),測試,預(yù)發(fā),正式4個環(huán)境,通過maven可以實現(xiàn)按不同環(huán)境進(jìn)行打包部署,命令為:

mvn package -P dev

其中“dev“為環(huán)境的變量id, 可以自己定義, 我定義的名稱為:dev,qa,pre,prod , 具體在pom.xml中的配置如下:

<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> ...... <profiles> <profile> <id>dev</id> <properties> <env>dev</env> </properties> <activation> <activeByDefault>true</activeByDefault> </activation> </profile> <profile> <id>qa</id> <properties> <env>qa</env> </properties> </profile> <profile> <id>pre</id> <properties> <env>pre</env> </properties> </profile> <profile> <id>prod</id> <properties> <env>prod</env> </properties> </profile> </profiles> ...... <build> <filters> <filter>config/${env}.properties</filter> </filters> <resources> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> </resource> </resources> ...... </build> </project>

1.profiles定義了各個環(huán)境的變量id

2.filters中定義了變量配置文件的地址,其中地址中的環(huán)境變量就是上面profile中定義的值

3.resources中是定義哪些目錄下的文件會被配置文件中定義的變量替換,一般我們會把項目的配置文件放在src/main/resources下,像db,bean等,里面用到的變量在打包時就會根據(jù)filter中的變量配置替換成固定值

參照如下博客URL:

http://www.cnblogs.com/cfrost/p/5491291.html

http://blog.csdn.net/wuxinzaiyu/article/details/8524274

https://www.jianshu.com/p/7e94b7de21a9

?

轉(zhuǎn)載于:https://www.cnblogs.com/xd502djj/p/11066785.html

總結(jié)

以上是生活随笔為你收集整理的maven集成命令-U -B -P -e -X的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。