maven 常見錯誤解決方法


1. 最重要的一點,使用國內鏡像,比如 oschina.net 的鏡像;

搜 jar 推薦:http://maven.outofmemory.cn/,速度極快。

2. 錯誤:Could not resolve artifact org.apache.maven.archetypes:maven-archetype-quickstart:pom:RELEASE

eclipse 建立 maven-archetype-quickstart 類型的 maven 項目報上面的錯誤,原因是沒有該 type 對應的 jar 包,又無法下載。

解決方法:

1> 從http://maven.oschina.net/content/groups/public/org/apache/maven/archetypes/maven-archetype-quickstart/

下載最新版maven-archetype-quickstart-1.1.jar

2> 到下載目錄下執行進行安裝:

mvn install:install-file -DgroupId=org.apache.maven.archetypes -DartifactId=maven-archetype-quickstart -Dversion=1.1 -Dpackaging=jar -Dfile=maven-archetype-quickstart-1.1.jar

復制代碼
D:\java_libs>mvn install:install-file -DgroupId=org.apache.maven.archetypes -DartifactId=maven-archetype-quickstart -Dversion=1.1 -Dpackaging=jar -Dfi
le=maven-archetype-quickstart-1.1.jar
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Maven Stub Project (No POM) 1
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-install-plugin:2.4:install-file (default-cli) @ standalone-pom ---
[INFO] Installing D:\java_libs\maven-archetype-quickstart-1.1.jar to D:\java_libs\repository\org\apache\maven\archetypes\maven-archetype-quickstart\1.
1\maven-archetype-quickstart-1.1.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.937 s
[INFO] Finished at: 2015-12-09T14:31:45+08:00
[INFO] Final Memory: 5M/15M
[INFO] ------------------------------------------------------------------------
復制代碼

3. 錯誤:某個 jar 包始終無法下載成功

比如 netty-all 包,在 reposity目錄D:\java_libs\repository\io\netty\netty-all\4.0.33.Final 中只有一個.lastUpdated為后綴的文件

這是因為,maven在下載倉庫中找不到相應資源時,會生成一個.lastUpdated為后綴的文件。如果這個文件存在,那么即使換一個有資源的倉庫后,Maven依然不會去下載新資源。

我們可以將其刪除掉,然后保存下pom.xml 文件,讓他重新下載。如果還是不行,那么可以手動下載 netty-all-4.0.33.Final.jar 包,放入:

D:\java_libs\repository\io\netty\netty-all\4.0.33.Final\

在保存pom.xml 文件,就可以了:

4. 如果想盡了各種辦法,就是無法利用 maven 使用 某個 jar 包,比如我最近無論如何都無法利用maven引入依賴:

1
2
3
4
5
< dependency >
     < groupId >org.eclipse.jetty.npn</ groupId >
     < artifactId >npn-api</ artifactId >
     < version >8.1.2.v20120308</ version >     
</ dependency >

那只好 到 http://maven.outofmemory.cn/ 手動下載 jar 包,然后在項目中建立一個 文件夾,比如 lib, 然后將下載的 jar 包復制進去,然后 ' add to bild puth' 就行了。

5. 

解決方法:

在本地的Maven repository下找到這plugin,然后刪除之。然后在Maven update,搞定。

 

4.  java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener

項目啟動報錯:java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener

但是查看 maven 依賴,spring-web 確實已經被maven引入進來了。那么問題不是出在maven身上,查看tomcat目錄下的發現lib目錄沒有jar包,是空的。

所以原因是, eclipse 在 部署時,沒有將 maven 引入 的 jar 被發布到 tomcat 中,所以是 eclipse 的問題,解決方法:

項目右鍵 ---> Properties ----> 選擇 Deployment Assembly:

這里列出了 eclipse 是如何進行項目發布的:

如果 這里 沒有 最后一項,那么解決方法是: 點擊 Add...  ---> Java Build Path Entries ---> Next ---> 選擇 Maven Dependencies 

----> Finish --> Ok 。搞定

原理就是將 maven 引入的 jar 包也加入到 項目部署中來。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM