Maven项目起不来,报[ERROR] For more information about the errors and possible solutions, please read the fo

[INFO] BUILD FAILURE
[ERROR] Failed to execute
[ERROR] For more information about the errors and possible solutions, please read the following articles:

1、问题情形
项目代码是从SVN上刚下载的。
同事在启动项目时,程序卡在下图这个地方不动了(请忽略图片上的时间):
 
可以看出,项目已经在启动了,但是中途遇到了不知名的情况,卡着不动了,等了好长时间也不往下走。

但是我们其他同事都能成功启动,同样的代码,别人起得来,就他起不来,肯定有原因。

2、查找原因

同事用run configurations启动,命令是clean tomcat7:run,模式是Offline

对于Offline(离线模式),我的理解就是脱机,不受约束,即不联网进行jar包校验,只要有这个jar包就行。不使用Offline就意味着需要联网进行一系列的校验。就好比开着,Offline就是只要有车我就开,就算是开半路车要爆炸那我也开;而联网的时候呢,就是我先把这辆车检查一下,一旦发现问题,那我就不开了。

我把Offline(离线模式)取消勾选,如下图: 

奇迹出现了,系统打印了错误(请忽略图片上的时间):

三行关键信息,可以推断是Maven引入依赖是出现错误:
[INFO] BUILD FAILURE
[ERROR] Failed to execute
[ERROR] For more information about the errors and possible solutions, please read the following articles:

很明显嘛,那行蓝色的提示信息就明确表示了错误原因是:解决依赖关系出现错误。

当然,有时候提示的不是这些,而是其他的。但是根据红框圈中的那三行关键信息,基本可以锁定是这类问题。


3、解决问题
问题原因已经清楚了,那怎么解决呢?

来看[INFO] BUILD FAILURE这行上面的那些信息,

Maven需要下载一些文件,但是试过所有下载连接后也没能下载成功(通常是需要翻墙,也可能是连接错误),那么我们来手动下载。

我没这么干,我直接从其他能正常启动这个项目的同事那边拷了整个的org.eclipse包,替换掉这位同事原来的包。然后项目成功启动。


手动下载的话,我一般都是去https://repo.maven.apache.org/maven2/下载。

下载的时候最好是将自己本地的删除掉,然后将中央仓库里这个包下的jar、pom、xml什么的全下下来,然后复制到本地仓库。


4、还有之前遇到的一些类似的问题
日志显示三行关键的地方:
[INFO] BUILD FAILURE
[ERROR] Failed to execute
[ERROR] For more information about the errors and possible solutions, please read the following articles:
 
来看[INFO] BUILD FAILURE这一行上边的,

可以猜测下载这个pom文件时出了问题,我不研究到底出了什么问题(有时候是因为需要翻墙),直接从中央仓库重新下载:
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/project/5/
我把目录下的文件全下载下来,然后替换到本地仓库:
 
重新启动项目,OK,启动成功

5、引入自己的jar包出现问题。

工作中,经常会遇到一些自己公司封装的jar包,由于是自己封装的,所以大多都是在本地仓库,各同事间相互拷贝。

但是,在Maven项目中,是通过pom文件找到对应jar包的。所以,如果本地没有pom文件,那么以在线模式启动maven的话,一定会报错。

解决办法就是:手动写一个pom文件

比如我们公司自己封装了一个关于json的jar包,名为:json-1.0.jar,在maven仓库位置:本地maven仓库根路径/org/json/json/1.0/ json-1.0.jar

需在jar包同路径下写下同名的pom文件:json-1.0.pom:

 

 pom文件内容如下:

也可以使用mvn命令自动生成pom文件:

mvn install:install-file -DgroupId=org.json -DartifactId=json -Dversion=1.0 -Dpackaging=jar -Dfile=D:/json-1.0.jar

 
在命令行执行以下就行

  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

RainingTime

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值