天天看點

eclipse中maven的run as打war包失敗的問題

場景一:

由于某些原因,有的時候需要暫時在斷網的情況下,或者更标準的說,是在連不上公司的maven公有倉庫的情況下打包。

很長一段時間,我打包都是在eclipse中用run as線上打包,直到前不久一次連不上公有倉庫時打包出錯,具體的錯誤因為某些原因,暫時無法重制,也就無法截圖。

後來我的解決辦法是,在maven的settings.xml檔案中加入離線配置,如下圖的

eclipse中maven的run as打war包失敗的問題

這個配置預設是沒有的,沒有的情況下預設是<offline>fasle</offline>.

為了驗證更改有效,我特意拔去了網線打包,結果果然成功。

但是有些郁悶的是,我無法斷定是否是eclipse的問題,就如上圖一樣,我再把這個配置注釋掉以後,再次打包卻也開始屢屢成功,是以本想把之前的錯誤截個圖都無法實作。

但可以肯定的是,當我沒有更改這個配置之前,凡離線打包,屢試屢敗,自從改過以後,雖然又注釋了,但是再離線打包,都是屢試屢成。

是以,如果有人遇到這種需要離線打包卻又不成功的情況,可以嘗試一下這個方法,或許也就成功了。

場景二:

最近我的eclipse出了很多毛病,重裝了多次依舊沒有解決這些問題,例如編譯突然變得特别慢,常常在更改代碼以後重新開機tomcat不再自動編譯(有配置的情況下),還有就是很多項目依賴的jar包,maven不會自動加載,導緻需要force update。

也正是因為這個問題,導緻我打包過程中報錯如下:

對于這個錯,我一開始也有點丈二和尚摸不着頭腦,但是查了若幹資料後,再在eclipse中亂點了一通後終于發現問題所在。

我發現,正常情況下右鍵項目的build path,會是如下圖所示:

eclipse中maven的run as打war包失敗的問題

而這種打包失敗的情況下,build path打開後确實如下圖所示:

eclipse中maven的run as打war包失敗的問題

可以看出圖2比圖1少了一行,而正是這一行導緻打包失敗。

因為少了這一行,maven打包時就無法找到相應的依賴包,進而出現了如上所示的錯誤,于是我手動add,如下圖:

eclipse中maven的run as打war包失敗的問題
eclipse中maven的run as打war包失敗的問題

之後再次打包便沒有了之前的問題,經過幾次嘗試,結果都是和料想一樣,若有人遇到類似的情況,也不妨一試。

繼續閱讀