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

问题

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)

我已经阅读过许多人能够解决这个问题的方法:

  • 从本地存储库中删除文件夹并让它重新下载(这不起作用)
  • 通过配置eclipse来定位maven安装,而不是如此处所述的嵌入式安装(这不起作用)无法计算构建计划:artifact org.apache.maven.plugins:maven-resources-plugin:pom:2.4.3 is在本地存储库中不可用

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

这个项目正在另一台机器上工作,只是在这个机器上的存储库中将其拉下来,安装了相同版本的eclipse和m2e插件。我一直在欺骗这个超过10个小时,这让我感到疯狂(到目前为止,Maven对我来说只是头疼......)任何帮助都非常感谢!提前致谢!
编辑
仔细观察后,我注意到它没有将.jar文件下载到本地存储库中......我不确定这是否是显而易见的......
编辑
我没有选择将Maven依赖项添加到构建路径。


#1 热门回答(135 赞)

我有同样的问题。

[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到它来检查代理是否正在工作:

telnet [proxy] [port number]

2.检查不是Eclipse问题
在eclipse之外的命令行级别运行'mvn compile' - 同样的问题。

如果'mvn compile'有效。但它在eclipse中使用maven插件无效,见Maven plugin not using eclipse's proxy settings

3.选中不缓存问题删除我本地maven存储库中的所有内容。 (默认位置:〜/ .m2 / repository)然后重新编写 - 同样的问题出现了。
4.什么对我有用
自动下载并安装缺失的插件:通过在plumManagement的POM文件构建部分中声明缺少的插件,Maven将自动检索所需的插件。在POM文件中,为你需要的插件版本添加此代码:

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

手动安装缺少的插件:我去了505455271并下载了maven-resources-plugin-2.5.jarmaven-resources-plugin-2.5.pom。将其直接复制到maven存储库中的正确文件夹(〜/ .m2 / repository / org / apache / maven / plugins / maven-resources-plugin / 2.5)并重新'mvn compile'。这解决了这个问题。
Edit1
在此之后我又遇到了'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下载


#2 热门回答(111 赞)

我有完全相同的问题,因为我在某处读到错误是由缓存文件引起的,我通过删除.m2存储库文件夹下的所有文件来修复它。下次我构建项目时,我不得不再次下载所有依赖项,但这是值得的 - 0错误!


#3 热门回答(16 赞)

有几件事要尝试:

  • 仔细检查settings.xml文件中配置的本地工件仓库的位置(位于以下位置 /。m2 / settings.xml)。你确定当地的回购是你认为的吗? (是的,我过去犯过的错误......)
  • 删除新构建机器上的工件仓库的全部内容(或至少与Maven相关的任何内容)。你提到做一些神器repo清理,但我不确定你删除了哪些目录。当jar被破坏时,我遇到了类似这些奇怪的问题。
  • 确保你有足够的磁盘空间/配额用于本地工件仓库。当我没有足够大的配额来容纳所有工件时,我遇到了一些奇怪的问题,可能是由部分下载的jar文件引起的。
  • 尝试在命令行上使用普通Maven运行;将Eclipse和m2e排除在等式之外。 mvn -U依赖:解决应该这样做。无论你的存储库更新策略是什么,-U都会强制Maven下载。添加-X以获取详细的调试日志记录。
  • 将settings>从MAVEN_HOME \ conf \复制到USER_HOME.m2。如果你位于代理服务器后面,请添加代理(如果需要)。