Мейвен:пытаюсь заставить poms моего подмодуля НЕ наследовать плагин в родительском модуле
-
22-09-2019 - |
Вопрос
В моем проекте есть родительский пом и несколько подмодулей.Я поместил в родительский модуль плагин, который отвечает за сборку наших дистрибутивов установщика (с помощью install4j).Нет смысла запускать этот плагин на подмодулях, поэтому я установил false в конфигурации плагина, как показано ниже.Проблема в том, что когда я запускаю mvn clean install install4j:compile, он очищает, компилирует и запускает плагин install4j на родительском модуле, но затем пытается запустить его на дочерних модулях и происходит сбой.
Вот конфигурация плагина
<plugin>
<groupId>com.google.code.maven-install4j</groupId>
<artifactId>maven-install4j-plugin</artifactId>
<version>0.1.1</version>
<inherited>false</inherited>
<configuration>
<executable>${devenv.install4jc}</executable>
<configFile>${basedir}/newinstaller/ehd-demo.install4j</configFile>
<releaseId>${project.version}</releaseId>
<attach>false</attach>
<skipOnMissingExecutable>true</skipOnMissingExecutable>
</configuration>
</plugin>
Я неправильно понимаю цель inherited=false?Каков правильный способ заставить это работать?Я использую Maven 2.2.0.
Решение
Я обнаружил, что это может работать несколькими способами.То, как я это делаю сейчас...
1) Вынул <inherited>false</inherited>
2) Сначала запустите чистую установку mvn.
3) Затем запустите mvn install4j:compile -N (для нерекурсивного варианта)
Плагин также может использовать аннотацию @aggregator для достижения того же эффекта.