文档章节

 Maven10个高发错误

侠客人生
 侠客人生
发布于 2017/07/15 10:20
字数 900
阅读 39
收藏 0

1. Maven常见错误

项目中使用了maven,而且搭建了nexus 私服。

经常会遇到如下问题: 

1) 使用maven 编译(mvn compile)时,报错:maven source 1.3 中不支持泛型

解决方法:在项目的pom.xml中添加:

Xml代码  

1. <build>  

2.     <plugins>  

3.       <plugin>  

4.         <groupId>org.apache.maven.plugins</groupId>  

5.         <artifactId>maven-compiler-plugin</artifactId>  

6.         <configuration>  

7.           <source>1.7</source>  

8.           <target>1.7</target>  

9.         </configuration>  

10.       </plugin>  

11.     </plugins>  

12.     </build>  

 

 

 

2) 执行 mvn deploy时报错:java.lang.OutOfMemoryError: Java heap space


解决方法:

执行deploy时指定jre的参数

-Xms128M -Xmx512M

3) 使用nexus 时,eclipse中 Maven Repositories 视图中的Global Repositories下的nexus 无法展开



 解决方法:

对nexus 中Public Repositories 先执行“Rebuild Metadata”,再执行“Update Index”:


4) 使用eclipse 执行deploy部署项目时报错,报错信息如下:

Xml代码  

1. Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) on project demoManagement: Failed to deploy artifacts: Could not find artifact com.kunlunsoft.jn:demoManagement:war:1.1.0-RELEASE in tdr_vks_management_release (http://192.168.2.150:8088/nexus/content/repositories/kunlun_management_release/) -> [Help 1]  

 项目名为demoManagement

刚开始以为是pom。xml中finalName 引起的。结果发现nexus 压根儿没有叫“kunlun_management_release”的仓库。

根本原因:pom.xml中snapshotRepository指定的仓库不存在

5) webxml attribute is required

maven install web项目时报错:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-war-plugin:2.2:war (default-war) on project spring2: Error assembling WAR: webxml attribute is required (or pre-existing WEB-INF/web.xml if executing in update mode) -> [Help 1]

1

1

原因分析: 
maven的web项目默认的webroot是在src\main\webapp。如果在此目录下找不到web.xml就抛出以上的异常。

解决办法:

将webroot修改为webapp

在pom.xml中指定web.xml,如下:

<build>

    <finalName>web-app-name</finalName>

    <plugins>

      <plugin>
         <artifactId>maven-war-plugin</artifactId>
         <configuration>
             <webXml>${basedir}\WebContent\WEB-INF\web.xml</webXml>
         </configuration>
      </plugin>

</plugins>

</build>

 

6) must be unique jar包重复

 

解决办法:

根据错误提示信息检查配置文件,把重复的jar删除

 

7) error in opening zip file

 

解决办法:

根据错误信息,删除mavan的本地仓库中对应的jar包,从新下载即可。

8) Updating Maven Project

 

9) Failed to clean project: Failed to delete

ERROR] Failed to execute goal org.apache.maven.plugins:maven-clean-plugin:2.5:clean (default-clean) on project hrm-manager: Failed to clean project: Failed to delete D:\work\20170529\hrm-manager\target\tomcat\logs\access_log.2017-07-09 -> [Help 1]

[ERROR]

[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.

[ERROR] Re-run Maven using the -X switch to enable full debug logging.

[ERROR]

[ERROR] For more information about the errors and possible solutions, please read the following articles:

[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

解决办法:

启动任务管理器【ctrl】+【Alt】+【Delete】-> 进程 -> 并把javaw.exe的进程终止。

10) Maven项目中加载不到配置文件

DEBUG [localhost-startStop-1] - Ignoring bean class loading failure for bean 'dataSource'

org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [com.mchange.v2.c3p0.ComboPooledDataSource] for bean with name 'dataSource' defined in class path resource [applicationContext.xml]; nested exception is java.lang.ClassNotFoundException: com.mchange.v2.c3p0.ComboPooledDataSource

 

解决方案:说明缺少c3p0.jar 查看pom文件

或是因为配置Spring.xml有问题,可参考(基于maven管理的项目中spring+mybatis配置数据源读取不到properties属性文件的问题)http://www.henryxi.com/read-values-from-properties-file-in-spring

去加载properties文件

11) 读取stax-api-1.0.1.jar时出错

出现.lastUpdated结尾的文件的原因:由于网络原因没有将Maven的依赖下载完整,导致。

解决方案:

1、 删除所有以.lastUpdate结尾的文件

a) 1、切换到maven的本地仓库

b) 2、在当前目录打开cmd命令行

c) 3、执行命令:for /r %i in (*.lastUpdated) do del %i

2、 在项目上执行 Maven Update (Alt + F5)

 

2. 如何避免该问题

l 将课后资料中代码导入到你的Eclipse中,执行Maven Update(推荐)

l 回到家里无法连接教室的私服?

n 把私服地址注释掉,默认会通过网络去apache的远程的中央仓库下载

l 开源中国的私服:http://maven.oschina.net/help.html

© 著作权归作者所有

共有 人打赏支持
侠客人生
粉丝 15
博文 43
码字总数 82954
作品 0
朝阳
AngularJS 中的一些坑

本文由伯乐在线 -蔡蔡 翻译。未经许可,禁止转载! 英文出处:branchandbound。欢迎加入翻译组。 最近几个月频繁的跟AngularJS打交道,对于web应用开发来说Angular真的是一个神奇的框架,但是...

伯乐在线
2013/12/07
0
0
Ruby 和 Python 分析器是如何工作的?

原文出处:Julia Evans 译文出处:开源中国 你好! 我作为一名编写Ruby profiler的先驱,我想对现有的Ruby和Python profiler如何工作进行一次调查。 这也有助于回答很多人的问题:“你怎么写...

Julia Evans
2017/12/24
0
0
性能测试的艺术

原文出处:磁针石 为什么要进行性能测试? 什么是好的与坏的性能?为什么性能测试在软件开发生命周期(SDLC software development life cycle)中很重要? 性能不佳的应用通常无法实现企业预期...

磁针石
2016/03/21
0
0
如何处理前任程序员留下的代码

原文出处:Justin Albano 译文出处:开源中国 身为一个软件工程师,我们不可避免的会遇到这样一些问题:不得不修改别人的代码,或者在别人的代码中添加新的功能。我们并不熟悉这些代码,它也...

Justin Albano
2017/11/28
0
0
如何利用 C++ 的 Lambda 表达式提升 Qt 代码

原文出处:oschina Lambda 表达式是在 C++11 中加入的 C++ 特性。在这篇文章中我们将看到如何用 Lambda 表达式来简化 Qt 代码。Lambda 很强大,但也要小心它带来的陷阱。 首先,什么是 Labm...

oschina
2017/02/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

js 操作cookie

var cookie = {// 设置cookie方法 set:function(key,val,time){ var date = new Date(); //获取当前时间 var expiresDays = time; //将date设置为n天以后的时间...

小丶二
1分钟前
0
0
限制root远程登录 su和sudo命令

9月21日任务 3.7 su命令 3.8 sudo命令 3.9 限制root远程登录 对于Linux而言,权限的重要性毋庸置疑!对于普通用户而言无法执行那些只有root用户才能有效的命令,导致工作无法有效进行; 系统...

robertt15
3分钟前
0
0
MQTT协议的初浅认识之通讯级别和持久会话

背景 这是我最近了解MQTT协议的最后一部分内容了,MQTT协议里面的QOS和Keep Alive是两个比较重要的内容。QOS的设置,直接影响了订阅客户端与中间件之间的消息交互行为。而Keep Alive直接影响...

亚林瓜子
5分钟前
0
0
calc

width: calc(100% - 30px); 特别注意:减号左右空格,均不能去掉。 width: calc(100% - 30px);

柴高八斗之父
13分钟前
0
0
Spring Cloud Gateway全局过滤器GlobalFilter:返回消息和重定向

Spring Cloud Gateway的全局过滤器GlobalFilter,顾名思义,声明后会对所有的请求生效,可以用来做权限控制,这里简单记录一下拦截到非法请求后如何返回自定义信息和将请求重定向到指定URL。...

夜雨寄北09
16分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部