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

maven本地有包却加载失败_maven configuration problem[INFO]BUILDFAILURE[ERROR]Failedtoexecute[ERROR]Formoreinformationabouttheerrorsandpossiblesolutions,pleasereadthefollowingarticles:1、问题情形项目代码是从SVN上刚下载的。同事在启动项目时,程序卡在下图这个地方不…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

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

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

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

2、查找原因

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

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

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

我把Offline(离线模式)取消勾选,如下图: 
maven本地有包却加载失败_maven configuration problem

奇迹出现了,系统打印了错误(请忽略图片上的时间):
maven本地有包却加载失败_maven configuration problem

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

很明显嘛,那行蓝色的提示信息就明确表示了错误原因是:解决依赖关系出现错误。
maven本地有包却加载失败_maven configuration problem

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

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

来看[INFO] BUILD FAILURE这行上面的那些信息,
maven本地有包却加载失败_maven configuration problem

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:
 maven本地有包却加载失败_maven configuration problem
来看[INFO] BUILD FAILURE这一行上边的,
maven本地有包却加载失败_maven configuration problem

可以猜测下载这个pom文件时出了问题,我不研究到底出了什么问题(有时候是因为需要翻墙),直接从中央仓库重新下载:
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/project/5/
我把目录下的文件全下载下来,然后替换到本地仓库:
 maven本地有包却加载失败_maven configuration problem
重新启动项目,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:

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

 pom文件内容如下:

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

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

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

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

 
在命令行执行以下就行

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • vue响应式原理理解

    vue响应式原理理解要理解响应式原理,首先要理解两个问题,数据改变后,Vue是如何监听的,要通知哪些人然后进行界面的刷新首先来理解一下下面这这个监听数值改变与监听获取数据的函数,首先创建一个对象,然后这个对象就是用来被监听的,首先使用forEach来把对象里面所有的值取出来放到value这里,然后再defindeProperty里面重新定义,这个方法里面有一个set和get方法,分别是处理监听数据改变和数据被获取…

  • c#防止代码被反编译_C程序反编译

    c#防止代码被反编译_C程序反编译1.在编码过程中尽量使用private/internal关键词修饰class、方法和字段名称2.编码过程尽可能少地使用public修饰class、方法和字段名称3.避免使用反射和序列化,反序列化操作4.添加生成事件,调用Dotfuscator进行代码混淆if$(ConfigurationName)==Debug”C:/ProgramFiles(x86)/MicrosoftVisualStudio14.0/PreEmptiveSolutions/Dotfuscatora

  • uniapp清除浏览器缓存[通俗易懂]

    uniapp清除浏览器缓存[通俗易懂]uni.clearStorage();

  • dedecms中{dede:myad name=’about’/} 修改内容

    dedecms中{dede:myad name=’about’/} 修改内容

  • 【制作CSS气泡框】

    气泡状文本框,是一种很生动的网页设计手段。它可以用来表示用户的发言…

  • JAVA实现贪吃蛇游戏

    JAVA实现贪吃蛇游戏最近在学GUI,然后又有读者希望我写一下相关的实战。刚好我又在B站上找到了一个关于GUI的学习视频,然后里面又刚好有这个实战,我便写了下来。注:代码来源为B站的一个up主:狂神。游戏主启动类:importjavax.swing.*;//游戏主启动类publicclassstartGame{publicstaticvoidmain(String[]args){JFrameframe=newJFrame();frame..

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号