maven打包加入本地jar

    maven項目在開發的時候,有時候,並不是所有的依賴都可以在遠程倉庫能夠獲取到,只能是在一些網站下載沒有推到公共倉庫的jar文件,然後加入到工程的buildpath中,在本地開發運行,不會有問題,但是最後打包部署的時候,會因爲缺少這些沒有在pom.xml文件中指定的依賴jar而報錯。

    因此,我們需要將本地jar也加入到pom.xml的依賴配置項中,而本地jar最好是放在項目路徑下,比如lib目錄,如下所示:

    

    因爲我們的項目有時候並不是在本地進行打包構建,而是把代碼提交到gitlab,在gitlab服務器上進行自動構建,如果放在項目路徑之外,而gitlab服務器上又沒有的時候,還是會報錯。

    以上這一步做好了,其實配置就很簡單了,只需要在pom.xml配置文件中增加一個dependency的配置即可,groupId,artifactId,version均隨意指定,因爲最終起決定作用的是scope屬性以及systemPath屬性,如下所示:

     

    本人親測,只需要這麼配置,我們進行mvn package的時候,就不會報錯,而且打出的jar包直接運行也不會報錯。 

    真的是打臉啊,本地運行沒有報錯,是有個警告,構建成功,放到gitlab,自動構建,最後運行,出現了以下警告:

   [WARNING] Some problems were encountered while building the effective model for com.huali.mec:mec-tcp-receiver:jar:1.0.0
   [WARNING] 'dependencies.dependency.systemPath' for asnrt:javase:jar should not point at files within the project directory, ${project.basedir}/lib/asnrt.jar will be unresolvable by dependent projects @ line 99, column 17

    意思是不能使用項目目錄中的jar,也有人遇到了這樣的問題:https://www.phpsong.com/3536.html,根據他的提示,需要將${project.basedir}改爲${pom.basedir} 。

    再次構建就會順利通過。

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