解決: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的插件配置的問題。
非常多時候,對於工具的使用,僅限於初步使用。這次在優化期間,收獲還是頗多的!