系統優化(一)Maven打包同一個jar有不同的:版本號+時間戳(解決思路)


解決:maven倉庫的ear里面有非常多個同樣的jar(僅僅是包括不同的:版本號+時間戳)

問題描寫敘述: 發現ear里面有非常多個同樣的jar,僅僅是包括不同的:版本號+時間戳,例如以下圖所看到的:

(比如:itoo-basic-api有非常多同樣的jar,僅僅是包括不同的:版本號+時間戳)

解決思路

用權限的itoo-authority-usergroup-ear模塊進行測試

1.懷疑是:maven的坐標。時間戳的問題

keyword:

maven snapshot

maven war中同一個jar有非常多不同版本號

maven 本地倉庫 同一個jar有非常多不同的版本號

maven 從nexus上更新下來有非常多版本號的jar

....

2.懷疑是:nexus的問題

懷疑nexus上ear的版本號不是最新的。

故。在eclipse的ear的pom.xml中,右鍵Run As ---Maven build ----輸入”deploy”到nexus上。

后Jinkens上構建(省略)。

后查看:D:\itoo-maven-3.2.3\repository\com\tgb\***\0.0.1-SNAPSHOT中的jar是否包括非常多個同樣的jar,僅僅是包括不同的:版本號+時間戳?

(答案:非常多個同樣的jar,僅僅是包括不同的:版本號+時間戳)

 

3.懷疑是:Jinkens中配置問題

4.懷疑是:maven本地倉庫的問題

首先。刪除本地的maven倉庫中的tgb目錄。

后刪除:jenkins9中tmp_authority中的itoo-authority-usergroup-ear.ear


后Jinkens上構建(省略)。

后查看:D:\itoo-maven-3.2.3\repository\com\tgb\***\0.0.1-SNAPSHOT中的是否有:非常多個同樣的jar,僅僅是包括不同的:版本號+時間戳?

(答案:是。Ear中有非常多個同樣的jar,僅僅是包括不同的:版本號+時間戳)

5.懷疑是:maven中jar包依賴沖突的問題

(參照此圖)

先排除jar包沖突

后提交SVN代碼

后Jinkens上構建(省略)。

后查看:D:\itoo-maven-3.2.3\repository\com\tgb\***\0.0.1-SNAPSHOT中的jar是否包括:非常多個同樣的jar。僅僅是包括不同的:版本號+時間戳?


(答案:是。Ear中有:非常多個同樣的jar。僅僅是包括不同的:版本號+時間戳)

6.懷疑是:ear的pom文件里maven插件配置的問題

a)    首先將ear的pom.xml中加入截圖中的代碼

b)    后提交SVN代碼

c)    此時構建分為兩種方式:

               i.第一種:ear文件夾下,cmd命令中,輸入:mvn  clean install。

1.   后查看:D:\itoo-maven-3.2.3\repository\com\tgb\***\0.0.1-SNAPSHOT中的jar是否包括:非常多個同樣的jar,僅僅是包括不同的:版本號+時間戳?

2.    

3.  (答案:某一功能的jar僅僅有一個!且沒有:版本號+時間戳)


        ii.  另外一種:通過Jinkens又一次構建(省略)。

1.  后查看:D:\itoo-maven-3.2.3\repository\com\tgb\***\0.0.1-SNAPSHOT中的jar是否包括:非常多個同樣的jar。僅僅是包括不同的:版本號+時間戳?

2.    

3.    (答案:jar包個數降低,可是仍然含有:版本號+時間戳)

4.    差點兒全部的jar都是兩份:一個是***-0.0.1-SNAPSHOT.jar 和***-0.0.1-20150602.091811-14.jar

5.    推測:此次配置是有效果的。可是可能受到該ear上一級的影響。

6.    故,測試itoo-tool(見下)

終於方案:改動itoo-root中的pom.xml中maven插件配置

1)   用eclipse從SVN中下載itoo-root

2)   后對itoo-root中的pom.xml文件做兩部改動:

a)    第一步:刪除原有關於maven插件的配置

b)    

c)    第二步:加入新的maven插件的配置

d)    

3)   后將改動后的pom.xml文件提交到SVN

4)   后itoo-root的pom.xml中右鍵RunAs ---Maven build 中輸入“deploy”就可以。

5)   后在Jinkens中的itoo模塊的itoo-root,右鍵自己主動構建

6)   

7)   后依次構建:core--web--ear

8)   

9)   后在Jinkensserver中。檢查itoo-authority-usergroup-ear中的jar

10)

11)

12)Perfect! 


總結

歸根究竟,還是由於maven的插件配置的問題。

非常多時候,對於工具的使用,僅限於初步使用。這次在優化期間,收獲還是頗多的!



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM