Java類型流水線上傳至Nexus後pom依賴丟失

問題描述

通過Maven將Java項目推送至私有倉庫Nexus時,pom中的依賴全部丟失。如果其它項目引用了此pom,運行時有可能拋出 NoClassDefFoundError 錯誤,找不到 class 文件。

源代碼中的pom 推送至Nexus的pom
在這裏插入圖片描述 在這裏插入圖片描述

問題原因

Maven 在打包Jar時,默認是不會將依賴的 Jar 打包的,而是通過 pom 文件進行構建。但在deploy時不指定pom文件的話, maven 就會自動生成一個幾乎是空的pom ,依賴關係缺失 。。

mvn deploy:deploy-file
-DgroupId={yourProjectGroupId} \
-DartifactId={yourProjectArtifactId}\
-Dfile={yourJarFile} \
-Durl={URL} \
-DrepositoryId={yourRepositoryId}\
-Dpackaging=jar\ 
-DpomFile=pom.xml // 指定該 jar 包的 pom 文件,如不指定,將生成一個默認的幾乎爲空的pom——本問題原因所在

問題解決

在mvn deploy時加上-DpomFile=pom.xml即可

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章