Eclipse 创建maven项目pom文件报错解决方案

时间:2023-01-25 14:19:29

软件版本:

Eclipse :
Eclipse 创建maven项目pom文件报错解决方案

Maven :
Eclipse 创建maven项目pom文件报错解决方案

m2e:
Eclipse 创建maven项目pom文件报错解决方案


操作步骤 :


File -> New -> Other -> Maven -> Maven Project -> Next -> 勾选 Create a simple project -> Next -> 正常填入 -> Finish
结果就是pom文件会报错,报错位置在第一行,如下
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

提示一长串的错误
Failure to transfer XXXX:XXX:pom:XXX from http://repo.maven.apache.org/maven2 was cached in the local 
 repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced. Original error: 
 Could not transfer artifact XXX:XXX:pom:XXX from/to central (http://repo.maven.apache.org/maven2): No 
 response received after 60000

大致中文含义为某某maven依赖无法从*库下载(可能是pom文件,也可能是jar包)。

原因分析:

上网搜寻了许久,并没有很好的解决方案,大体上猜测原因如下:  1. m2e版本问题  2. eclipse的bug  3. 网络问题,可能被墙或者不稳定  4. 其他看都看不懂的原因(真的看不懂~~~)

解决方案:

   上述原因中,1、2、4本人真的无能为力,因此从3的角度考虑,我们知道maven在添加依赖的时候,先到本地库中找,没有才去远程库下,再没有就报错了,因此,我们可以用“欺骗”的方式,让maven使用我们准备的不是从远程库下载的东西。     1. 如果pom报错是因为缺少某个pom文件,那么推荐去http://mvnrepository.com/或者http://search.maven.org/输入报错的artifactId,找应的pom文件内容,然后在本地maven库对应位置伪造maven要求的pom文件,复制相应内容即可。     2. 如果是jar报错,依照上一步的操作即可,只是要下载对应版本的jar包。
一般来说上述方法就可以解决这一类问题,但是请做好心理准备,可能会很多,但是只要有点耐心,肯定可以,虽然大部分情况下这类问题根本不需要解决,但没办法,强迫症犯了。。。。。

附加:

  还遇到一个警告Build path specifies execution environment J2SE-1.5. There are no JREs installed in the workspace that are strictly compatible with this environment.    而且你改掉jre版本后,maven update还是如此。  本人解决办法,在pom中添加如下代码:   
<build>
<finalName>XXX</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.X</source>
<target>1.X</target>
</configuration>
</plugin>
</plugins>
</build>

1.X 为你希望的版本。