Ошибка правила Java Maven Enforcer - PullRequest
1 голос
/ 18 июля 2010

Привет всем, я новичок в 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>

Разве этого не достаточно?


Подробнее из ОП:

Кажется, я мог бы просто прокомментировать эту строку в файле pom верхнего уровня:

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

Но тогда я получу другие ошибки. Затем я внимательно прочитал сайты проекта и обнаружил, что код проекта можно и нужно создавать только с помощью предоставленных им скриптов сборки. При сборке по их сценариям сборка прошла успешно. Это хорошо и плохо, потому что теперь мне нужно отредактировать код в IDE, а затем встроить его в терминал, но, по крайней мере, это решение.

Ответы [ 2 ]

2 голосов
/ 18 июля 2010

Ваш проект использует Плагин Maven Enforcer , который где-то настроен (в родительском POM, в активном профиле) на "принудительное использование существования и значений свойств" с использованием requireProperty правило, в вашем случае свойство loadVersion.

Объявление такого пользовательского свойства в Maven можно выполнить в pom.xml непосредственно под элементом project или в profile или profile в settings.xml, добавив следующее:

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

И на это свойство затем может ссылаться ${loadVersion}. Я, конечно, понятия не имею о значении, которое должно быть установлено.

Смотри также

0 голосов
/ 18 июля 2010

Я собираюсь догадаться, что ваш pom.xml использует плагин принудительного применения и что вы не определили свойство loadVersion согласно правилу ограничений .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...