Я использую Maven для создания некоторых проектов, и он использует плагин gMaven для создания RPM, который включает в себя основной артефакт. Я хочу, чтобы Maven попытался создать RPM в системах с rpmbuild, а не в системах, которые этого не делают, поэтому я построил два отдельных профиля, один из которых должен быть по умолчанию, и тот, который должен активироваться, когда в семействе Unix ОПЕРАЦИОННЫЕ СИСТЕМЫ.Почему Maven не использует ожидаемый профиль?
Я мог бы поклясться, что я его протестировал, и все работает правильно, но теперь он работает с профилем семейства Unix, даже когда я создаю OSX. Однако, если я изменил семейство ОС профиля на «окна», он определенно знает, что это не на машине Windows и поэтому запускает профиль по умолчанию.
Вот соответствующий раздел моего файла pom.xml:
<profiles>
<profile>
<id>default-profile</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<rpmPhase>none</rpmPhase>
</properties>
</profile>
<profile>
<id>rpm-profile</id>
<activation>
<os>
<family>unix</family>
</os>
</activation>
<properties>
<rpmPhase>package</rpmPhase>
</properties>
</profile>
</profiles>
В выводе Maven:
OS name: "mac os x", version: "10.9.4", arch: "x86_64", family: "mac"
Однако Maven устанавливает rpmPhase в "пакет", вместо «нет , "который не является ожидаемым поведением.
Может ли кто-нибудь увидеть, если я что-то упустил?
EDIT:
Кроме того, если установить семействуОС к чему-то, что не существует, или если я закомментировать блок активации вообще, то используется профиль по умолчанию, так что кажется, что Maven активно соответствие мой OSX с семейством ОС Unix.
Хорошо OSX - это операционная система UNIX - она основана на BSD. – OrangeDog