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 包也加入到 項目部署中來。