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插件。我现在已经愚弄了这个超过10个小时,它让我疯了(到目前为止,Maven对我来说只是头疼......)任何帮助都非常感谢!提前致谢!
编辑
仔细观察后,我注意到它没有将.jar文件下载到本地存储库中......我不确定这是否是显而易见的......
编辑
我没有选择将Maven依赖项添加到构建路径。
我有同样的问题。
[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开普勒。计算机坐在内部网络与代理到互联网。这就是我做的。
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)然后重新编写 - 同样的问题出现了。
什么对我有用
自动下载并安装缺少的插件:通过在plumManagement的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'。这解决了这个问题。
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.10和http://mvnrepository.com/artifact/org.apache.maven.plugins/maven-install-plugin/2.3.1下载
一个更微妙的原因可能是一个Settings.xml文件,它在doctype之前的第一行有一个空格
希望我参加晚会不会迟到。
使用Eclipse Kepler和Maven 3.1遇到了这个问题。
解决方案是为Eclipse项目使用JDK而不是JRE。确保尝试maven清理并从eclipse测试只是为了下载丢失的罐子。
我有同样的问题,但有其他原因。解决方案是停用Avira Browser Protection(德语Browser-Schutz)。我从m2e cannot transfer metadata from nexus, but maven command line can那里得到了溶剂。它可以再次激活maven有所需的插件。
大多数人会告诉您检查您的代理设置或删除并重新添加工件,但我会远离它,并提出另一个建议,以防万一,这不是你的问题。它可能是您的镜像设置。
如果您在办公室使用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
在我的情况下,我正在使用m2e的外部maven安装。我已将我的代理设置添加到外部maven安装的settings.xml文件中。即使在我将外部maven安装设置为默认maven安装后,m2e仍未使用这些设置。
为了解决这个问题,我在eclipse中将全局maven设置文件配置为来自我的外部maven安装的settings.xml文件。
现在eclipse可以下载所需的工件。
除了@JackDev回复之外,还解决了我的问题
1)在没有空格的目录下安装jdk:
C:/Java
代替
C:/Program Files/Java
这是Windows中的已知问题。我也修好了JAVA_HOME
2)在C:/Maven
下安装maven,就像Java一样。相应修正了M2_HOME
。
3)我的笔记本电脑上的java 7和java 8。所以我用eclipse.ini
定义了jvm。如果你的-vm
没有eclipse.ini
条目,这不是强制性步骤。我更新了:
C:/Java/jdk1.7.0_79/jre/bin/javaw.exe
代替:
C:/Java/jdk1.7.0_79/bin/javaw.exe
祝好运
如果您已在maven的settings.xml中配置了存储库,请检查您是否可以访问它。
当我遇到这个问题时,在settings.xml中配置了企业存储库,但我不在公司。
在我将默认存储库更改为另一个文件夹后,JackDev的选项3适用于我。
以下是我在M2E插件自动下载maven-resources-plugin-2.6后看到的内容。如果您想采用手动方法,这可能会给您一些提示。必要的文件可以从这里下载:https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-resources-plugin/2.6/
如果您有代理,则还必须清除SOCKS
Window > Preferences > Network Connections.
我有完全相同的问题,因为我在某处读到错误是由缓存文件引起的,我通过删除.m2存储库文件夹下的所有文件来修复它。下次我构建项目时,我不得不再次下载所有依赖项,但这是值得的 - 0错误!
在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>
这对我有帮助。
我遇到了同样的问题。
我刚从下面的网站安装了m2e(Maven2Eclipse)插件:
http://www.eclipse.org/m2e/
Eclipse>帮助>安装新软件>可用软件站点>添加
Name: m2e (any name is OK)
Location:m2e - http://download.eclipse.org/technology/m2e/releases/
在安装窗口>使用下:
选择此新位置并添加显示的所有插件。 Eclipse重启并且运行正常,没有先前的错误。
如果您在公司工作,他们可能会阻止您下载外部软件并进行安装。您可能需要手动安装插件或重新指向内部镜像存储库。
尝试下载不同版本的maven。我和maven 3.5.2有同样的问题,我解决了我的问题,只需下载maven 3.0.4
很老的东西。
解决了在settings.xml
中修复localRepository的问题。此文件是从我的其他计算机复制而来的.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>
我可以通过以下步骤解决问题
3.在Maven安装中的settings.xml中设置代理 (C:\路径\ Apache的行家-3.6.0 \ CONF)
<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>
有几件事要尝试:
settings.xml
文件中配置的本地工件仓库的位置(位于以下位置{your home folder}/.m2/settings.xml
)。你确定当地的回购是你认为的吗? (是的,我过去犯过的错误......)mvn -U dependency:resolve
应该这样做。无论您的存储库更新策略是什么,-U都会强制Maven下载。添加-X
以获取详细的调试日志记录。我在使用eclipse kepler和maven 3.2版时面临同样的问题,
在构建项目时,它在eclipse中向我展示了同样的错误
插件下有两个版本(2.5和2.6)
.m2/repository/org/apache/maven/plugins/maven-resources-plugin/
我删除了2.5版本然后它为我工作
我的问题是配置文件的位置。
在eclipse设置(Windows-> preferences-> maven-> User Settings)中,maven的默认配置文件指向C:\users\*yourUser*\.m2\settings.xml
。如果你解压缩maven并将其安装在你选择的文件夹中,那么文件将在*yourMavenInstallDir*/conf/
中,因此可能不是eclipse认为的(我的不是)。如果是这种情况,maven将无法正确加载。您只需将“用户设置”路径设置为指向正确的文件即可。
看来这个问题可能有很多不同的原因。我在安装Eclipse(Luna)的新版本后体验过它。命令行maven运行良好,但Eclipse有构建问题。
我在JRE中使用证书颁发机构。这很重要,因为这在下载Maven资源时提供了我的身份验证。即使我的项目指向Eclipse内部相应的JRE - Eclipse也使用不同的JRE运行(这很明显地看着Windows任务管理器中的Java进程属性)。我的解决方案是在我的eclipse.ini中添加以下内容并明确定义我想要使用的JRE。
-vm
C:\Program Files\Java\jdk1.7.0_51\bin\javaw.exe
尝试删除/usr/share/maven-repo
中的所有目录 - 当然然后maven将会死亡,因此您必须重新安装并重试。在我的情况下从maven ver.3重新安装。 maven2删除所有存储库帮助。
我尝试删除.m2中的所有内容,但这没有帮助。
某些文件在本地存储库中丢失。通常在${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>
在pom.xml的根文件夹中运行mvn compile
。 Maven将下载所有缺少的依赖项。下载后,您可以删除添加的依赖项。
现在您应该能够导入maven项目或更新项目而不会出现错误。
我发现,虽然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>
运行一次构建后可以删除它