解決maven打包失敗:程序包xxxx不存在問題
用Maven引入本地jar包這種做法非常不合理,很容易導(dǎo)致團(tuán)隊(duì)jar包混亂,最好嘗試搭建私服解決。
1.問題實(shí)質(zhì)
Maven倉庫jar包下載失敗或項(xiàng)目引入本地jar包Maven沒有對應(yīng)進(jìn)行配置
2.問題原因
(1)因網(wǎng)絡(luò)或其他原因?qū)е翸aven下載jar包到本地倉庫失敗
(2)項(xiàng)目引入本地jar包,只在編譯器里進(jìn)行了配置而沒有在Maven中進(jìn)行配置
3.解決步驟
(1)查看對應(yīng)出錯jar包的本地Maven倉庫jar包是否下載完整
如果如上圖所示將文件刪掉重新下載即可。
(2)如果出現(xiàn)在編譯器中可以找到j(luò)ar包,但是用Maven打包報錯:
就要查看一下項(xiàng)目是否引入本地jar包但Maven沒有對其進(jìn)行配置。
解決方案1
找到存放第三方j(luò)ar包文件夾 (例如src/main/webapp/WEB-INF/lib)右鍵AddasLibrary加入項(xiàng)目運(yùn)行庫:
然后配置Maven打包插件掃描額外jar包
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.1</version> <configuration> <source>1.8</source> <target>1.8</target> <encoding>UTF-8</encoding> <compilerArgs> <arg>-verbose</arg> <arg>-Xlint:unchecked</arg> <arg>-Xlint:deprecation</arg> <arg>-bootclasspath</arg> <arg>${env.JAVA_HOME}/jre/lib/rt.jar</arg> <arg>-extdirs</arg> <arg>${project.basedir}/src/main/webapp/WEB-INF/lib</arg> </compilerArgs> </configuration> </plugin>
其中${project.basedir}為項(xiàng)目根結(jié)點(diǎn)
圖片引自:http://chabaoo.cn/article/240010.htm,此方法多人嘗試成功但筆者沒有解決。
解決方案2
修改pom文件,引入依賴并且將scope設(shè)置為system
配置Maven打包插件
此方法親測可行,但筆者引入的本地jar數(shù)量太多,一個一個寫估計(jì)會累死。
解決方案3
將jar包安裝至本地倉庫后使用pom文件直接引入,進(jìn)入需要引入的jar目錄,執(zhí)行以下命令
mvn install:install-file -Dfile=druid-1.1.4.jar -DgroupId=com.alibaba -DartifactId=druid -Dversion=1.1.4 -Dpackaging=jar
執(zhí)行后在本地倉庫中看到如下文件,說明安裝成功
此方法親測可行,理由同上,引入本地jar太多。
解決方案4
哪個模塊找不到j(luò)ar包就單獨(dú)rebuild一下這個model,注意rebuild之后不要用maven的clean
rebuild完成之后再重新install
簡單粗暴,方便快捷,非常適合維護(hù)老項(xiàng)目。新項(xiàng)目就別這么搞了,老老實(shí)實(shí)建私服吧。
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Log4j按級別輸出日志到不同文件的實(shí)現(xiàn)方法
下面小編就為大家?guī)硪黄狶og4j按級別輸出日志到不同文件的實(shí)現(xiàn)方法。2016-11-11SpringBoot如何優(yōu)雅的整合Swagger Api自動生成文檔
在多人協(xié)作的開發(fā)過程中,API文檔不僅可以減少等待,也能保證開發(fā)的持續(xù)進(jìn)行,這篇文章主要給大家介紹了關(guān)于SpringBoot如何優(yōu)雅的整合Swagger Api自動生成文檔的相關(guān)資料,需要的朋友可以參考下2021-07-07Java 實(shí)戰(zhàn)練手項(xiàng)目之酒店管理系統(tǒng)的實(shí)現(xiàn)流程
讀萬卷書不如行萬里路,只學(xué)書上的理論是遠(yuǎn)遠(yuǎn)不夠的,只有在實(shí)戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用java+SSM+jsp+mysql+maven實(shí)現(xiàn)一個酒店管理系統(tǒng),大家可以在過程中查缺補(bǔ)漏,提升水平2021-11-11利用JDBC的PrepareStatement打印真實(shí)SQL的方法詳解
PreparedStatement是預(yù)編譯的,對于批量處理可以大大提高效率. 也叫JDBC存儲過程,下面這篇文章主要給大家介紹了關(guān)于利用JDBC的PrepareStatement打印真實(shí)SQL的方法,需要的朋友可以參考借鑒,下面來一起看看吧。2017-07-07基于Mybatis plus 自動代碼生成器的實(shí)現(xiàn)代碼
本文通過實(shí)例代碼給大家介紹了基于Mybatis-plus 自動代碼生成器的相關(guān)知識,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2018-05-05Spring Data Jpa 復(fù)合主鍵的實(shí)現(xiàn)
這篇文章主要介紹了Spring Data Jpa 復(fù)合主鍵的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04