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

posted @ 2017-11-03 23:25  作巴  阅读(7591)  评论(0编辑  收藏  举报