maven本地有包却加载失败_maven configuration problem

2022-10-02 13:14:45 浏览数 (2)

大家好,又见面了,我是你们的朋友全栈君。

[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文件:

代码语言:javascript复制
mvn install:install-file -DgroupId=org.json -DartifactId=json -Dversion=1.0 -Dpackaging=jar -Dfile=D:/json-1.0.jar

在命令行执行以下就行

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/192043.html原文链接:https://javaforall.cn

0 人点赞