Maven Properties ссылается на себя

Разрешается ли иметь свойство Maven следующего вида?

<prop>${prop}</prop>

К сожалению, этого нет в моем Pom, поэтому я не могу его изменить. Затем построитель моделей Maven выдает исключения нулевого указателя в тот момент, когда он пытается проанализировать свойство. Если эта запись удалена, синтаксический анализ работает и сохраняет строку «${prop}» везде, где используется свойство.

Видимо, у разработчиков пома должна была быть причина, почему они вообще добавили эту запись. Я предполагаю, что это каким-то образом гарантирует, что сборка завершится неудачно, если это свойство не существует.

Однако это делает решение poms довольно сложным, если у меня это транзитивная зависимость.

Разрешено ли это согласно Maven? Если да, то я сообщу об ошибке, если нет, то придется как-то с этим бороться. Мне не удалось найти подробную спецификацию Maven-Properties.

Непонятно, каков вариант использования. Как вы получили то свойство, которого, как вы говорите, нет в вашем помпе? Также добавьте минимально воспроизводимый пример .

aled 03.07.2024 13:49
Then the Maven Model Builder throws Null Pointer Exceptions at the point where it tries to parse the propert что это за проект? Можете ли вы удалить его, чтобы он стал вашим собственным? Это немного озадачивает? Пожалуйста, более подробные пояснения...
khmarbaise 03.07.2024 14:10

Возможно ли, что создатель хочет заставить пользователя определить это свойство перед использованием этого модуля?

talex 03.07.2024 14:23

Может быть, первоначальные авторы pom хотели обеспечить, чтобы свойство указывалось через системное свойство Java в начале mvn, как в случае с mvn package -Dprop=foobar?

cyberbrain 03.07.2024 14:25

Pom, в котором свойство определено, как указано выше, не принадлежит мне. Программный анализ завершается с ошибкой Null-Pointer-Exception. Я, конечно, могу скопировать их помпон, создать из него тестовый пример и в этом тестовом примере я могу свободно редактировать все, как захочу.

HenrikRüping 03.07.2024 14:29
Parsing it programmatically fails with a Null-Pointer-Exception. Зачем ты это делаешь? То есть вы не используете это в контексте сборки Maven? Помимо этого, можете ли вы показать больше этого файла pom?
khmarbaise 03.07.2024 16:35

Возможно, лучше просто написать отчет об ошибке со stacktrace и минимальным рабочим примером. Затем я свяжу это здесь.

HenrikRüping 03.07.2024 21:18
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
7
70
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Похоже, что это ссылающиеся на себя свойства, которые не предназначены для использования Maven. Мы можем только предполагать, каковы были точные намерения авторов.

Я создал отчет об ошибке по адресу https://issues.apache.org/jira/browse/MNG-8174 с более подробной информацией о том, как воспроизвести проблему.

Другие вопросы по теме

Похожие вопросы