由于 pom.xml 中的错误,无法使用 Maven 运行构建
Posted
技术标签:
【中文标题】由于 pom.xml 中的错误,无法使用 Maven 运行构建【英文标题】:Couldn't run build using Maven because of an error in pom.xml 【发布时间】:2012-01-10 09:04:09 【问题描述】:我正在尝试在 Eclipse 中构建一个新的 Maven 项目。 在我的 pom.xml 中,我收到一个错误,上面写着
在这一行找到多个注释: - 缺少工件 maven-plugins:maven-findbugs-plugin:plugin:1.3.1 - 缺少工件 maven-plugins:maven-cobertura-plugin:plugin:1.3
这是我在 pom.xml 中“cobertura”的依赖代码:
<dependency>
<groupId>maven-plugins</groupId>
<artifactId>maven-cobertura-plugin</artifactId>
<version>1.3</version>
<type>plugin</type>
</dependency>
我尝试如下添加存储库,但仍然没有工作。
<repositories>
<repository>
<id>repository.maven-plugins.sourceforge.net</id>
<name>maven plug-in repository</name>
<url>http://maven-plugins.sourceforge.net/repository</url>
</repository>
<repository>
<id>repository.ibiblio.org-maven</id>
<name>ibiblio repository</name>
<url>http://www.ibiblio.org/maven</url>
</repository>
</repositories>
这里有 Maven 插件的链接http://maven-plugins.sourceforge.net/maven-findbugs-plugin/announcements/announcement-1.3.1.txt
http://maven-plugins.sourceforge.net/maven-cobertura-plugin/announcements/announcement-1.3.txt
我不想手动安装这些插件。我需要通过在 pom.xml 中声明它们来自动安装它们
请帮忙。
谢谢
【问题讨论】:
类似于***.com/questions/8295458/…? 【参考方案1】:作为一个相关问题,我发现例如jaxen-1.1.3 引用了上述 maven1 工件。 Eclipse 中的 POM 编辑器向您显示依赖关系层次结构。它为选择显式排除添加了以下内容:
<dependency>
<groupId>jaxen</groupId>
<artifactId>jaxen</artifactId>
<version>1.1.3</version>
<exclusions>
<exclusion>
<artifactId>maven-cobertura-plugin</artifactId>
<groupId>maven-plugins</groupId>
</exclusion>
<exclusion>
<artifactId>maven-findbugs-plugin</artifactId>
<groupId>maven-plugins</groupId>
</exclusion>
</exclusions>
</dependency>
【讨论】:
jdom 1.1.2 还包括导入这些工件的 jaxen 1.1.3。相同的修复适用于 jdom 依赖项。谢谢!【参考方案2】:这些是 maven 1 插件,不适用于 maven 2。这些是插件的当前版本。
cobertura maven plugin2.5.1 findbugs maven plugin2.3.3您可以在<plugins>
标签内定义插件,而不是在<dependencies>
标签内。还要注意下面这些插件的groupId
和artifactId
的变化...
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<version>2.5.1</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<version>2.3.3</version>
</plugin>
【讨论】:
这不起作用,因为 jaxen 明确要求 cobertura 1.3 和 findbugs 1.3.1。以上是关于由于 pom.xml 中的错误,无法使用 Maven 运行构建的主要内容,如果未能解决你的问题,请参考以下文章