Java Maven执行器规则错误

时间:2010-07-18 10:23:31

标签: java maven-2

大家好,我是apache maven的新手。我将一个项目导入netbeans一切似乎都很好,但是我在尝试构建它时遇到了这个错误:

[警告]规则2:org.apache.maven.plugins.enforcer.RequireProperty失败并显示消息: 此构建需要属性“loadVersion”。

我认为这意味着pom.xml文件中某个依赖项的版本错误但不确定。 任何帮助表示赞赏。


问题海报的更多细节:

我正在处理项目的一小部分,而我正在处理的部分有一个pom.xml文件。此文件没有任何强制规则。但是,顶级(或最高级别的pom.xml文件)确实具有所需版本的强制规则:

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>1.0-beta-1</version>
</plugin>

这不应该足够吗?


OP的更多细节:

似乎我可以在顶级pom文件中注释掉这一行:

<requireProperty>
  <property>loadVersion</property>
</requireProperty>

然后我会得到其他错误。然后我彻底阅读了项目网站,发现项目的代码只能用他们提供的构建脚本构建。使用脚本构建时,构建成功。这是好事和坏事,因为现在我必须在IDE中编辑代码然后在终端中构建它,但至少它是一个解决方案。

2 个答案:

答案 0 :(得分:2)

您的项目正在使用Maven Enforcer Plugin,该requireProperty已配置(在父POM中,在活动配置文件中)“使用{{3强制执行属性的存在和值”在您的情况下,loadVersion属性。

使用Maven声明这样的自定义属性可以直接在pom.xml元素的project下,profile中的profilesettings.xml中完成通过添加以下内容:

<properties>
  <loadVersion>someValue</loadVersion>
</properties>

然后${loadVersion}可以引用此属性。我当然不知道应该设置的值。

另见

答案 1 :(得分:0)

我猜你的pom.xml使用的是enforcer plugin,并且你没有根据规则constraints定义loadVersion属性。