无法计算构建计划:插件org.apache.maven.plugins:maven-resources-plugin:2.5或其依赖项之一无法解析


178
org.apache.maven.plugin.PluginResolutionException: Plugin org.apache.maven.plugins:maven-resources-plugin:2.5 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.apache.maven.plugins:maven-resources-plugin:jar:2.5
    at org.apache.maven.plugin.internal.DefaultPluginDependenciesResolver.resolve(DefaultPluginDependenciesResolver.java:129)
    at org.eclipse.m2e.core.internal.project.registry.EclipsePluginDependenciesResolver.resolve(EclipsePluginDependenciesResolver.java:48)
    at org.apache.maven.plugin.internal.DefaultMavenPluginManager.getPluginDescriptor(DefaultMavenPluginManager.java:142)
    at org.apache.maven.plugin.internal.DefaultMavenPluginManager.getMojoDescriptor(DefaultMavenPluginManager.java:261)
    at org.apache.maven.plugin.DefaultBuildPluginManager.getMojoDescriptor(DefaultBuildPluginManager.java:185)
    at org.apache.maven.lifecycle.internal.DefaultLifecycleExecutionPlanCalculator.setupMojoExecution(DefaultLifecycleExecutionPlanCalculator.java:152)
    at org.eclipse.m2e.core.internal.embedder.MavenImpl.setupMojoExecution(MavenImpl.java:386)
    at org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.setupMojoExecution(ProjectRegistryManager.java:865)
    at org.eclipse.m2e.core.internal.project.registry.MavenProjectFacade.getMojoExecution(MavenProjectFacade.java:355)
    at org.eclipse.m2e.core.project.configurator.AbstractCustomizableLifecycleMapping.getBuildParticipants(AbstractCustomizableLifecycleMapping.java:66)
    at org.eclipse.m2e.core.project.configurator.AbstractLifecycleMapping.configure(AbstractLifecycleMapping.java:87)
    at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.updateProjectConfiguration(ProjectConfigurationManager.java:414)
    at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.updateProjectConfiguration(ProjectConfigurationManager.java:351)
    at org.eclipse.m2e.core.ui.internal.UpdateMavenProjectJob.runInWorkspace(UpdateMavenProjectJob.java:74)
    at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:38)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Caused by: org.sonatype.aether.resolution.ArtifactDescriptorException: Failed to read artifact descriptor for org.apache.maven.plugins:maven-resources-plugin:jar:2.5
    at org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.loadPom(DefaultArtifactDescriptorReader.java:296)
    at org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.readArtifactDescriptor(DefaultArtifactDescriptorReader.java:186)
    at org.sonatype.aether.impl.internal.DefaultRepositorySystem.readArtifactDescriptor(DefaultRepositorySystem.java:279)
    at org.apache.maven.plugin.internal.DefaultPluginDependenciesResolver.resolve(DefaultPluginDependenciesResolver.java:115)

我读过许多人能够通过以下方法解决此问题:

我是Maven的新手,所以请原谅我的无知

这个项目正在另一台机器上工作,只是将它从该机器上的存储库中拉下来,并安装了相同版本的eclipse和m2e插件。我已经在愚弄了十多个小时,这让我发疯(到目前为止,Maven只是让我头疼...)任何帮助都将不胜感激!提前致谢!

编辑

仔细查看后,我确实注意到它没有将.jar文件下载到本地存储库中...我不确定这是否很明显...

编辑

我没有选择将Maven依赖项添加到构建路径的选项。


没有任何答案可以为我解决这个问题,但是我在这篇文章中找到了答案:stackoverflow.com/questions/5704010/maven-in-5-min-not-working,特别是解决方案#1。
悉尼

Answers:


153

我有同样的问题。

[ERROR] Plugin org.apache.maven.plugins:maven-resources-plugin:2.5 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.apache.maven.plugins:maven-resources-plugin:jar:2.5: Failure to find org.apache.maven.plugins:maven-resources-plugin:pom:2.5 in 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 -> [Help 1]
...

如果使用Maven 3.0.5,则在安装了JBoss Dev Studio 7的情况下使Eclipse Kepler失效。计算机坐在内部网络与互联网的代理。这就是我所做的。

0.检查Maven存储库服务器是否启动

1.检查代理已设置并正常工作

首先,我认为这是一个代理问题,我确保maven settings.xml包含代理设置(settings.xml可以存在于MAVEN_HOME中的两个位置。另一个位于%userprofile%.m2 \中,后者优先级更高) :

<proxy>
  <id>optional</id>
  <active>true</active>
  <protocol>http</protocol>
  <username>optional-proxyuser</username>
  <password>optional-proxypass</password>
  <host>proxy.host.net</host>
  <port>80</port>
  <nonProxyHosts>local.net|some.host.com</nonProxyHosts>
</proxy>

并尝试通过远程登录到代理来检查代理是否正常工作:

telnet [proxy] [port number]

2.检查不是Eclipse问题

在Eclipse之外的命令行级别运行了“ MVN编译”-同样的问题。

如果“ MVN编译”工作。但是使用eclipse中的maven插件无法正常工作,请参阅Maven插件不使用eclipse的代理设置

3.选中“不缓存问题”,然后 删除本地maven存储库中的所有内容。(默认位置:〜/ .m2 / repository),然后重新运行Maven-出现相同的问题。

4.对我有用的

自动下载并安装缺少的插件: 通过在pluginManagement的POM文件构建部分中声明缺少的插件,Maven将自动检索所需的插件。在POM文件中,为您所需的插件版本添加以下代码:

  <build>
        <pluginManagement>
          <plugins>
            <plugin>
              <artifactId>maven-resources-plugin</artifactId>
              <version>2.7</version>
            </plugin>           
          </plugins>
        </pluginManagement>   
    </build>

手动安装缺少的插件: 我去了 http://mvnrepository.com/artifact/org.apache.maven.plugins/maven-resources-plugin/2.5并下载了 maven-resources-plugin-2.5.jar maven-resources-plugin -2.5.pom。将其直接复制到Maven存储库中的正确文件夹中(〜/ .m2 / repository / org / apache / maven / plugins / maven-resources-plugin / 2.5)并重新运行“ mvn compile”。这样就解决了问题。


编辑1

之后,“ mvn install”又出现了两个问题:

The POM for org.apache.maven.plugins:maven-surefire-plugin:jar:2.10 is missing, no dependency information available

The POM for org.apache.maven.plugins:maven-install-plugin:jar:2.3.1 is missing, no dependency information available

我以与上述相同的方式解决了这个问题,从http://mvnrepository.com/artifact/org.apache.maven.plugins/maven-surefire-plugin/2.10http://mvnrepository.com/artifact/org下载。 apache.maven.plugins / maven-install-plugin / 2.3.1


3
我将遵循您的建议,但在最后一分钟我尝试了“ mvn install”。这行之有效,这表明根本原因是默认存储库的服务器出现问题。
Donal Lafferty

1
谢谢,我的问题恰恰与POM文件有关!我认为这是因为我在Eclipse之外的计算机中安装了Maven 2.6。在Maven 2.6的同一文件夹中,同时存在JAR和POM文件,而对于Maven 2.5仅存在JAR文件
ericn 2014年

1
@Akari,检查出maven.apache.org/guides/introduction/...有可能是本地的仓库,你的公司内部网络中的Maven仓库服务器,以及公共Maven仓库。
JackDev 2014年

1
就我而言,我检查了〜/ .m2 / repository / org / apache / maven / plugins / maven-resources-plugin / 2.6,根本没有pom文件!真的有帮助。谢谢一群!
Anand Rockzz 2014年

1
我认为您应该更新您的答案,使其包含一个事实,即删除本地Maven存储库中的所有内容也是一种解决方案。
Adrian Ber 2014年

132

我遇到了完全相同的问题,并且由于我在某处读取到该错误是由缓存的文件引起的,因此我通过删除.m2存储库文件夹下的所有文件来解决此问题。下次创建项目时,我不得不再次下载所有依赖项,但这是值得的-0错误!


6
我做了你在这里说的话。看来已经解决了我的问题。
rpat

2
类似的问题在这里-这个解决方案似乎也为我解决了。
Priidu Neemre

1
我也一样 但是我从mvndebug选项开始,我注意到本地存储库中的pom文件已损坏。删除该文件并再次运行会mvn导致该文件再次被下载,并且一切正常。
Adrian Ber 2014年

2
刚刚从org/apache/maven/plugins/maven-resources-plugin/2.5文件夹中删除了所有内容,然后mvn install再次运行。这个对我有用。
Shams

1
在Eclipse中,我认为也可以通过右键单击项目-> Maven->更新项目并选中“强制更新Stapshots / Releases”,然后单击“确定”来实现。所有依赖项的下载均出现0个错误。
塔玛拉·阿维夫

17

可以尝试的几件事:

  1. 仔细检查settings.xml文件中配置的本地工件仓库的位置(在以下位置{your home folder}/.m2/settings.xml)。您确定本地存储库位于您认为的位置吗?(是的,我过去犯过一个错误...)
  2. 在新的构建机器上(或至少与Maven相关的任何东西)除去工件仓库的全部内容。您提到要进行一些工件回购清理,但是我不确定您删除了哪个目录。当一个罐子损坏时,我遇到了诸如此类的怪异问题。
  3. 确保您有足够的磁盘空间/配额用于本地工件回购。当我没有足够大的配额来容纳所有工件时,我遇到了奇怪的问题,这很可能是部分下载的jar文件引起的。
  4. 尝试在命令行上使用纯Maven运行;将Eclipse和m2e排除在外。 mvn -U dependency:resolve应该做。-U强制Maven下载,无论您的存储库更新策略是什么。添加-X以获取详细的调试日志记录。
  5. 将settings.xml从MAVEN_HOME \ conf \复制到USER_HOME.m2。如果您在代理服务器后面,请添加代理(如果需要)。

+1。第一次检查可以处理大多数情况,尤其是当我们有特定的mvn设置文件时。对于Eclipse用户,快速解决方案是将正确的设置文件指向“窗口”>“首选项”>“ Maven”>“用户设置”下。
gyani 2014年

9

在使用eclipse kepler和Maven 3.2版时,我遇到了同样的问题,

在构建项目时,它向我展示了Eclipse中的相​​同错误

下有两个版本的插件(2.5和2.6)

.m2/repository/org/apache/maven/plugins/maven-resources-plugin/

我删除了2.5版本然后对我有用


7

我的问题是配置文件的位置。

在eclipse设置中(Windows-> preferences-> maven-> User Settings),maven的默认配置文件指向C:\users\*yourUser*\.m2\settings.xml。如果您解压缩maven并将其安装在您选择的文件夹中,则该文件将位于里面*yourMavenInstallDir*/conf/,因此可能不在eclipse认为的地方(不是我的)。如果是这种情况,Maven将无法正确加载。您只需要设置“用户设置”路径以指向正确的文件。


7

看来此问题可能有很多不同的原因。我在安装新版本的Eclipse(Luna)后经历了它。命令行行家运行良好,但是Eclipse存在构建问题。

我在JRE中使用了证书颁发机构。这很重要,因为这在下载Maven资源时提供了我的身份验证。即使我的项目指向Eclipse中合适的JRE,但Eclipse仍在使用其他JRE运行(在Windows任务管理器中查看Java进程属性就很明显)。我的解决方案是在eclipse.ini中添加以下内容,并显式定义我要使用的JRE。

-vm
C:\Program Files\Java\jdk1.7.0_51\bin\javaw.exe 

4

您应该Force Update Snapshots/Releases在使用maven更新项目时检查 一下。它对我有用:-)。强制更新快照/发布


3

尝试删除中的所有目录 /usr/share/maven-repo -当然,maven将会死亡,因此您必须重新安装并重试。就我而言,从maven ver.3重新安装。删除所有存储库对maven2有所帮助。

我尝试从.m2中删除所有内容,但这没有帮助。


3
该问题的答案已被接受,您的答复是告诉他删除其所有目录?在回答之前,请务必阅读整个问题和答案。
durron597

2
@ durron597:Martijn的解决方案实际上非常接近公认的答案。他正在向接受的ans添加更多信息。
mindreader 2013年

3

本地存储库中缺少某些文件。通常在${user.home}/.m2/repository/

Neets的答案解决了这个问题。但是,如果您不想将所有依赖项再次下载到本地存储库,则可以将缺少的依赖项添加到您的项目中并进行编译。

使用Maven存储库网站查找依赖关系。在您的情况下http://mvnrepository.com/artifact/org.apache.maven.plugins/maven-resources-plugin/2.5,缺少。

将列出的XML复制到项目的pom.xml文件中。在这种情况下

<dependency>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-resources-plugin</artifactId>
    <version>2.5</version>
</dependency>

mvn compile在pom.xml的根文件夹中。Maven将下载所有缺少的依赖项。下载后,您可以删除添加的依赖项。

现在,您应该能够导入maven项目或更新项目,而不会出现错误。


3

我发现,当m2e默认情况下正在寻找v2.5时,我的本地仓库有2.6,而没有2.5。

无需研究如何实现,只需将依赖项添加到pom就可以解决问题

<dependency>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-resources-plugin</artifactId>
    <version>2.6</version>
</dependency>

运行一次构建后可以将其删除


3

请按照简单的步骤解决以下问题: 无法计算构建计划:插件org.apache.maven.plugins:maven-resources-plugin:2.5或其中一个依赖项无法解决:无法读取org.apache的工件描述.maven.plugins:日食中的 maven-ar-plugin:ar:2.4

在此处输入图片说明

解决方案: 步骤1: 在此处输入图片说明

第2步:

在此处输入图片说明

问题已解决

在此处输入图片说明


2

一个更微妙的原因可能是Settings.xml文件,该文件的doctype前第一行有一个空格


2

希望我没晚会。

使用Eclipse Kepler和Maven 3.1遇到了这种情况。

解决方案是为您的Eclipse项目使用JDK而不是JRE。确保尝试进行Maven清理并从Eclipse中进行测试,以下载丢失的jar。


我有这个问题很长时间了,直到开始研究系统变量之前我都无法解决。原来我将JAVA_HOME设置为JRE,而不是JDK。
乔·卡鲁索


1

大多数人会告诉您检查代理设置或删除并重新添加工件,但我会尽量避免这种情况,并提出其他建议,以防万一不是您的问题。这可能是您的镜像设置。

如果您在办公室使用maven,则很有可能已将maven配置为查找公司的内部maven存储库。如果您在家中做一些工作,但没有连接到网络,则可能是问题所在。一个明显的解决方案可能是到办公室的VPN,以获取此存储库的可见性。解决此问题的另一种方法是将另一个镜像站点添加到您的/User/.m2/settings.xml文件,因此,如果在您的办公网络上找不到该镜像站点,它将尝试公共回购。

<mirror>
    <id>Central</id>
    <url>http://repo1.maven.org/maven2</url>
    <mirrorOf>central</mirrorOf>
    <!-- United States, St. Louis-->
</mirror>

对于其他Maven存储库,请在此处查看:http : //docs.codehaus.org/display/MAVENUSER/Mirrors+Repositories


1

就我而言,我正在使用带有m2e的外部Maven安装。我已将代理设置添加到外部Maven安装的settings.xml文件中。即使将外部maven安装设置为默认的maven安装,m2e仍未使用这些设置。

为了解决该问题,我已将eclipse中的全局Maven设置文件配置为来自外部Maven安装的settings.xml文件。

现在,eclipse可以下载所需的工件。


1

在settings.xml中输入代理设置后

<proxies>
<!-- proxy 
 | Specification for one proxy, to be used in connecting to the network.
 |  -->
<proxy>
  <id>optional</id>
  <active>true</active>
  <protocol>http</protocol>
  <username>DOMAIN\YOURID</username>
  <password>123456</password>
  <host>proxy.company.com</host>
  <port>8080</port>
  <nonProxyHosts>local.net|some.host.com</nonProxyHosts>
</proxy>

</proxies>

检查以下标记在settings.xml中是否具有false值

<offline>false</offline>

这对我有帮助。


1

除了@JackDev答复外,还解决了我的问题的是

1)将jdk安装在没有空格的目录下:

C:/Java

代替

C:/Program Files/Java

这是Windows中的一个已知问题。我解决了JAVA_HOME

2)按照Java情况在下安装Maven C:/Maven。修复了M2_HOME

3)我在笔记本电脑上使用Java 7和Java 8。因此,我使用定义了jvm eclipse.ini。如果您没有-vm输入,则这不是必需的步骤eclipse.ini。我更新了:

C:/Java/jdk1.7.0_79/jre/bin/javaw.exe

代替:

C:/Java/jdk1.7.0_79/bin/javaw.exe

祝好运


1

如果您已经在Maven的settings.xml中配置了存储库,请检查是否可以访问它。

遇到此问题时,在settings.xml中配置了企业存储库,但我不在公司内。


1
his issue is happening due to change of protocol from http to https for central repository. please refer following link for more details. https://support.sonatype.com/hc/en-us/articles/360041287334-Central-501-HTTPS-Required 

In order to fix the problem, copy following into your pom.ml file. This will set the repository url to use https.

<repositories>
        <repository>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
            <id>central</id>
            <name>Central Repository</name>
            <url>https://repo.maven.apache.org/maven2</url>
        </repository>
    </repositories>
    <pluginRepositories>
        <pluginRepository>
            <releases>
                <updatePolicy>never</updatePolicy>
            </releases>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
            <id>central</id>
            <name>Central Repository</name>
            <url>https://repo.maven.apache.org/maven2</url>
        </pluginRepository>
    </pluginRepositories>


0

如果您有代理,还必须清除

Window > Preferences > Network Connections.

0

我遇到了同样的问题。

我刚刚从以下站点安装了m2e(Maven2Eclipse)插件:

http://www.eclipse.org/m2e/

Eclipse>帮助>安装新软件>可用的软件站点>添加

Name: m2e (any name is OK)
Location:m2e - http://download.eclipse.org/technology/m2e/releases/

在“安装窗口”下,使用:

选择此新位置,然后添加出现的所有插件。Eclipse重新启动,并且运行正常,没有先前的错误。


0

如果您在公司工作,他们可能会阻止您下载外部软件并进行安装。您可能需要手动安装插件或指向内部镜像存储库。


0

尝试下载其他版本的Maven。我在使用maven 3.5.2时遇到了同样的问题,我只是下载了maven 3.0.4就解决了我的问题。


0

很老的东西。

解决了在中修复localRepository的问题settings.xml。该文件是从我的另一台计算机复制而来的,.m2存储库的路径不同。

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">

  <localRepository>C:\Users\foo\.m2</localRepository>

</settings>

0

我可以按照以下步骤解决问题

  1. 单独安装Maven
    https://www.mkyong.com/maven/how-to-install-maven-in-windows/
  2. 在Eclipse中设置外部Maven安装
    在此处输入图片说明


3.在Maven安装
(C:\ path \ apache-maven-3.6.0 \ conf)中的settings.xml中设置代理。

<proxy>
 <id>optional</id>
 <active>true</active>
 <protocol>http</protocol>
 <username>optional-proxyuser</username>
 <password>optional-proxypass</password>
 <host>proxy.host.net</host>
 <port>80</port>
 <nonProxyHosts>local.net|some.host.com</nonProxyHosts>
</proxy>
  1. 更新Maven用户设置 在此处输入图片说明

  2. 更新Maven项目
    在此处输入图片说明


0

我已将项目转移到另一台计算机上,将所有Maven库从旧计算机复制到新计算机上,做了右键单击我的项目>> Maven >>更新项目。然后建立我的项目。除此之外,我还完成了这一步,如屏幕快照所示。这就是所有的工作!!

转到窗口->首选项-> Maven->用户设置,确保您具有以下设置。
在此处输入图片说明

另外,右键单击您的项目->属性-> Maven,并确保您具有maven存储库的路径。
在此处输入图片说明


0

我面临着同样的问题,上述工作均无所作为,例如通过更新MVN也是同样的错误,通过构建也同样,即使是同一问题,也可以在settings.xml中输入详细信息。

之后,我再次尝试并做了一些以前没有做过的事情,并且它起作用了。

很简单,我在更新Mvn项目时单击了强制更新。通过右键单击pom文件,在Maven下有一个选项“ Update Project”,它会打开一个弹出窗口以选择更新选项。请确保已选中强制更新,默认情况下未选中。宾果游戏,就像魅力一样!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.