Java Maven不支持Maven依赖插件
我试图从一本书中下载一个Spring/Java代码来运行他们的代码并进行测试,但不幸的是我遇到了错误 我看到这是一个常见错误,但没有看到pom文件的修复程序 pom.xmlJava Maven不支持Maven依赖插件,java,spring,maven,Java,Spring,Maven,我试图从一本书中下载一个Spring/Java代码来运行他们的代码并进行测试,但不幸的是我遇到了错误 我看到这是一个常见错误,但没有看到pom文件的修复程序 pom.xml <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/PO
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.apress.springrecipes</groupId>
<artifactId>core</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
<artifactId>springintro</artifactId>
<name>Introduction to Spring</name>
<dependencies>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
</dependency>
<dependency>
<groupId>org.jboss.javaee</groupId>
<artifactId>jboss-jca-api</artifactId>
</dependency>
</dependencies>
</project>
m2e不是Maven。POM文件错误表示Eclipse的Maven插件(m2e)不知道如何处理“复制依赖项”:“解包”目标。m2e的工作方式必须理解目标在pom文件中的作用,以便在Eclipse构建中复制该行为 您可以做两件主要的事情:
我不知道是什么原因导致文件未找到错误,但我怀疑这是因为该文件包含在Eclipse未解压缩的文件中。m2e不是Maven。POM文件错误表示Eclipse的Maven插件(m2e)不知道如何处理“复制依赖项”:“解包”目标。m2e的工作方式必须理解目标在pom文件中的作用,以便在Eclipse构建中复制该行为 您可以做两件主要的事情:
我不知道是什么原因导致文件未找到错误,但我怀疑这是因为该文件包含在Eclipse未解包的内容中。@Pace所说的完全正确,我相信OP应该尝试了解m2e在做什么。就我个人而言,我讨厌m2e在0.10之后的行为,他们为此引入了连接器概念。这个概念很好,但告诉Eclipse如何应对不受支持的插件的方法是严重污染POM,这在我看来很糟糕。切换回旧的M2E版本可能会使您的生活更轻松,尽管您会丢失一些功能 回到您的问题,从您引用的错误消息: m2e不支持2.4之前的maven资源插件。使用maven资源插件2.4版或更高版本 在我看来,m2e确实支持maven resources插件>=2.4(我不确定,我以前没有遇到过类似的问题)。尝试在POM中使用更新版本(2.4或更高版本,最新版本为2.6)的maven resources插件,M2E可能会为您选择设置 i、 e
...
org.apache.maven.plugins
maven资源插件
2.6
....
....
在您使用的插件版本上盖章总是一个好的做法。这将导致更“可复制”的构建。@Pace所说的完全正确,我相信OP应该尝试理解m2e在做什么。就我个人而言,我讨厌m2e在0.10之后的行为,他们为此引入了连接器概念。这个概念很好,但告诉Eclipse如何应对不受支持的插件的方法是严重污染POM,这在我看来很糟糕。切换回旧的M2E版本可能会使您的生活更轻松,尽管您会丢失一些功能 回到您的问题,从您引用的错误消息: m2e不支持2.4之前的maven资源插件。使用maven资源插件2.4版或更高版本 在我看来,m2e确实支持maven resources插件>=2.4(我不确定,我以前没有遇到过类似的问题)。尝试在POM中使用更新版本(2.4或更高版本,最新版本为2.6)的maven resources插件,M2E可能会为您选择设置 i、 e
...
org.apache.maven.plugins
maven资源插件
2.6
....
....
在您使用的插件版本上盖章总是一个好的做法。这将导致一个更“可复制”的构建。您的应用程序中有bean.xml吗?是的,我在项目下有bean.xml吗?您的应用程序中有bean.xml吗?是的,我在项目下有它,我刚刚安装了Maven Integration for Eclipse,但仍然收到旧版本错误错误错误不是m2e(针对Eclipse的Maven集成)对于Maven来说太旧了,但是您在pom.xml文件中定义的插件对于m2e来说太旧了。我猜您正在阅读的书没有使用Eclipse或者使用了非常旧的Eclipse版本。您需要修改他们提供的文件,首先更新应该列出的Maven resources插件的版本在将beans.xml移动到正确的文件夹后,我能够修复它。看起来它无法加载beans文件…但我仍然在pom.xml文件中看到错误…我如何知道maven资源插件的版本…我应该去更新xml文件的标记吗…感谢您的时间我刚刚安装了maven Integrattion for Eclipse,但我仍然得到了旧版本的错误。错误不是m2e(Maven integration for Eclipse)对于Maven来说太旧,而是y
Jul 17, 2013 3:51:20 PM org.springframework.context.support.AbstractApplicationContext prepareRefresh
INFO: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@be41ec: startup date [Wed Jul 17 15:51:20 EDT 2013]; root of context hierarchy
Jul 17, 2013 3:51:20 PM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
INFO: Loading XML bean definitions from class path resource [beans.xml]
Exception in thread "main" org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from class path resource [beans.xml]; nested exception is java.io.FileNotFoundException: class path resource [beans.xml] cannot be opened because it does not exist
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:341)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:143)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:178)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:149)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:212)
at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:126)
at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:92)
at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:130)
at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:465)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:395)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
at com.apress.springrecipes.hello.Main.main(Main.java:10)
Caused by: java.io.FileNotFoundException: class path resource [beans.xml] cannot be opened because it does not exist
at org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:141)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:328)
... 13 more
maven-dependency-plugin (goals "copy-dependencies", "unpack") is not supported by m2e.
maven-resources-plugin prior to 2.4 is not supported by m2e. Use maven-resources-plugin version 2.4 or later.
<project>
...
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.6</version>
</plugin>
</plugins>
....
</pluginManagement>
....
</build>
</project>