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安装而不是如此处所述的嵌入式安装(这确实不工作)
我是Maven的新手所以请原谅我的无知
这个项目正在另一台机器上工作,只是在这个机器上的存储库中将其拉下来,安装了相同版本的eclipse和m2e插件。我现在已经愚弄了这个超过10个小时,它让我疯了(到目前为止,Maven对我来说只是头疼......)任何帮助都非常感谢!提前谢谢!
修改
仔细观察后我发现它没有将.jar文件下载到本地存储库中......我不确定这是不是很明显......
修改
我没有选择将Maven Dependencies添加到构建路径。
答案 0 :(得分:146)
我遇到了同样的问题。
[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的日食开普勒。计算机坐在内部网络与代理到互联网。这就是我所做的。
<强> 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。什么对我有用
自动下载&amp;安装缺少的插件: 通过在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'。这解决了这个问题。
<强> 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下载
答案 1 :(得分:125)
我遇到了完全相同的问题,因为我在某处读到错误是由缓存文件引起的,我通过删除.m2存储库文件夹下的所有文件来修复它。 下次我构建项目时,我不得不再次下载所有依赖项,但这是值得的 - 0错误!!
答案 2 :(得分:17)
要尝试的事情:
settings.xml
文件中配置的本地工件仓库的位置(位于以下位置{your home folder}/.m2/settings.xml
)。你确定当地的回购是你认为的吗? (是的,我过去犯过的错误......)mvn -U dependency:resolve
应该这样做。无论您的存储库更新策略是什么,-U都会强制Maven下载。添加-X
以获取详细的调试日志记录。答案 3 :(得分:8)
我在使用eclipse kepler和maven 3.2版时遇到了同样的问题,
在构建项目时,它在eclipse中向我显示了相同的错误
下有两个版本(2.5和2.6)的插件
.m2/repository/org/apache/maven/plugins/maven-resources-plugin/
我删除了2.5版本然后它为我工作
答案 4 :(得分:7)
我的问题是配置文件的位置。
在eclipse设置(Windows-&gt; preferences-&gt; maven-&gt;用户设置)中,maven的默认配置文件指向C:\users\*yourUser*\.m2\settings.xml
。如果您解压缩maven并将其安装在您选择的文件夹中,该文件将位于*yourMavenInstallDir*/conf/
内,因此可能不是eclipse所认为的(我的不是)。如果是这种情况,maven将无法正确加载。您只需将“用户设置”路径设置为指向正确的文件。
答案 5 :(得分:6)
我通过删除以下位置的文件夹2.6来解决问题
.m2/repository/org/apache/maven/plugins/maven-resources-plugin/
然后我在eclipse luna中创建了一个新的maven项目,它运行良好
答案 6 :(得分:6)
这个问题似乎有很多不同的原因。我在安装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
答案 7 :(得分:3)
尝试删除/usr/share/maven-repo
中的所有目录 - 当然maven将会死亡,因此您必须重新安装并重试。在我的情况下从maven ver.3重新安装。 maven2删除所有存储库帮助。
我尝试删除.m2中的所有内容,但没有帮助。
答案 8 :(得分:3)
按照简单的步骤解决以下问题: 无法计算构建计划:插件org.apache.maven.plugins:maven-resources-plugin:2.5或其依赖项之一无法解析:无法读取org.apache.maven.plugins:maven-ar-的工件描述插件:ar:2.4 在日食中
第二步:
问题已解决☺
答案 9 :(得分:3)
这些答案都没有为我修好,但我在这篇文章中找到了答案:maven in 5 min not working,特别是解决方案#1。
答案 10 :(得分: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>
在pom.xml的根文件夹中运行mvn compile
。 Maven将下载所有缺少的依赖项。下载后,您可以删除添加的依赖项。
现在您应该可以导入maven项目或更新项目而不会出现错误。
答案 11 :(得分: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>
运行一次构建后可以删除
答案 12 :(得分:2)
答案 13 :(得分:2)
希望我不会迟到。
使用Eclipse Kepler和Maven 3.1来实现这一点。
解决方案是为您的Eclipse项目使用JDK而不是JRE。一定要试试maven clean并从eclipse测试下载丢失的罐子。
答案 14 :(得分:2)
一个更微妙的原因可能是一个Settings.xml文件,它在doctype之前的第一行有一个空格
答案 15 :(得分:1)
在我的情况下,我正在使用m2e的外部maven安装。我已将我的代理设置添加到外部maven安装的settings.xml文件中。即使在我将外部maven安装设置为默认maven安装后,m2e仍未使用这些设置。
要解决此问题,我已将eclipse中的全局maven设置文件配置为来自外部maven安装的settings.xml文件。
现在eclipse可以下载所需的工件。
答案 16 :(得分: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
答案 17 :(得分:1)
我有同样的问题,但有其他原因。解决方案是停用Avira Browser Protection(德语Browser-Schutz)。我从m2e cannot transfer metadata from nexus, but maven command line can开始了解。它可以再次激活,maven有所需的插件。
答案 18 :(得分: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>
答案 19 :(得分:1)
除了@JackDev回复之外,还解决了我的问题的是
1)在没有空格的目录下安装jdk:
C:/Java
而不是
C:/Program Files/Java
这是Windows中的一个已知问题。我还修复了JAVA_HOME
2)在C:/Maven
下的Java案例中安装maven。相应地修正了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
祝你好运
答案 20 :(得分:1)
如果您已在maven的 settings.xml 中配置了存储库,请检查您是否可以访问它。
当我遇到此问题时,在 settings.xml 中配置了企业存储库,但我不在公司。
答案 21 :(得分:1)
我有这个问题很长一段时间,直到我开始查看我的系统变量才弄明白。事实证明我将JAVA_HOME设置为JRE,而不是JDK。
答案 22 :(得分:0)
我面临着同样的问题,上述工作均无法完成,例如通过更新MVN也会出现同样的错误,通过构建也同样,即使在相同的问题下也可以在settings.xml中输入详细信息。
此后,我再次尝试并做了一些以前没有做过的事情,并且奏效了。
很简单,我在更新Mvn项目时单击了强制更新。 右键单击pom文件,在Maven下有一个选项, “更新项目”,它会打开一个弹出窗口以选择更新选项。 请确保已选中强制更新,默认情况下未选中。和 宾果游戏,就像魅力一样!
答案 23 :(得分:0)
我已将项目转移到另一台机器上,将所有maven库从旧机器复制到了新机器上,做了右键单击我的项目>> Maven >>更新项目。然后建立我的项目。除此之外,我还完成了这一步,如屏幕快照所示。就是这样!
答案 24 :(得分:0)
我可以通过以下步骤解决问题
3.在Maven安装中的settings.xml中设置代理
(C:\ path \ apache-maven-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>
答案 25 :(得分:0)
非常古老的东西。
解决了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>
答案 26 :(得分:0)
为了解决这个问题,我尝试了以下方法: (我正在开发 Eclipse IDE)
<?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">
<!--
<proxies>
<proxy>
<id>optional</id>
<active>true</active>
<protocol>http</protocol>
<username>proxyuser</username>
<password>proxypass</password>
<host>proxy.host.net</host>
<port>80</port>
<nonProxyHosts>local.net|some.host.com</nonProxyHosts>
</proxy>
</proxies>
-->
</settings>
答案 27 :(得分:0)
尝试下载不同版本的maven。 我和maven 3.5.2有同样的问题,我解决了我的问题,只需下载maven 3.0.4
答案 28 :(得分:0)
如果您在公司工作,他们可能会阻止您下载外部软件并进行安装。您可能需要手动安装插件或重命名到内部镜像存储库。
答案 29 :(得分:0)
右键点击您的项目&gt;&gt; Maven&gt;&gt;更新项目。 然后建立你的项目,它对我有用。
答案 30 :(得分:0)
我遇到了同样的问题。
我刚刚从以下网站安装了m2e(Maven2Eclipse)插件:
http://www.eclipse.org/m2e/
Eclipse&gt;帮助&gt;安装新软件&gt;可用软件站点&gt;添加
Name: m2e (any name is OK)
Location:m2e - http://download.eclipse.org/technology/m2e/releases/
在安装窗口下&gt;使用:
选择此新位置并添加显示的所有插件。 Eclipse重新启动,它运行正常,没有先前的错误。
答案 31 :(得分: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>
这帮助了我。
答案 32 :(得分:0)
如果您有代理,则还必须清除
中的SOCKSWindow > Preferences > Network Connections.
答案 33 :(得分:0)
在我将默认存储库更改为另一个文件夹后,JackDev的选项3适用于我。
以下是我在M2E插件自动下载maven-resources-plugin-2.6后看到的内容。如果您想采用手动方法,这可能会给您一些提示。必要的文件可以从这里下载:https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-resources-plugin/2.6/
答案 34 :(得分:-1)
我通过将 bluesky 添加到所有主题
来处理我的问题<dependency>
<groupId>org.primefaces.themes</groupId>
<artifactId>all-themes</artifactId>
<version>1.0.xx</version>
</dependency>