Каковы возможные причины следующего предупреждения maven:
Overriding profile: 'null' (source: pom) with new instance from source: pom
Я пытался закомментировать весь мой профиль по умолчанию, так как в предупреждении упоминается "профиль", но это не помогло. Я также попытался закомментировать мои варианты отчетов, и предупреждение все еще появляется.
Я запустил maven с флагом -X
, и предупреждение появляется сразу после того, как моя зависимость от Hamcrest появляется, но комментирование не устраняет предупреждение.
РЕДАКТИРОВАТЬ: дополнительная информация по запросу:
Вывод из mvn help:active-profiles
:
Active Profiles for Project 'com.sophware.XXX:main:jar:0.0.1-SNAPSHOT':
The following profiles are active:
- default (source: pom)
Вывод из mvn help:all-profiles
:
[INFO] Listing Profiles for Project: com.sophware.XXX:main:jar:0.0.1-SNAPSHOT
Profile Id: default (Active: true , Source: pom)
default
- это действительно идентификатор профиля, который я использую в своей помпе. На данный момент у меня есть только один профиль, хотя я ожидаю добавить еще в будущем.
Разрешение:
Питер был прав насчет проблемы. Проблема заключается в том, что в профиле maven отсутствует элемент id
. В моем случае файл pom извлекался из-за моей зависимости от miglayout.
Просматривая зависимые помпы, я обнаружил, что miglayout, действительно, не использует id
в своих профилях:
<profile>
<activation>
<os>
<family>windows</family>
<arch>x86</arch>
</os>
</activation>
<dependencies>
<dependency>
<groupId>org.eclipse.swt.win32.win32</groupId>
<artifactId>x86</artifactId>
<version>3.3.0-v3346</version>
<optional>true</optional>
</dependency>
</dependencies>
</profile>
Существует также ряд других профилей, которые также отсутствуют id
, каждый из которых вызывает предупреждение.