Мейвен:пытаюсь заставить poms моего подмодуля НЕ наследовать плагин в родительском модуле

StackOverflow https://stackoverflow.com/questions/2517270

Вопрос

В моем проекте есть родительский пом и несколько подмодулей.Я поместил в родительский модуль плагин, который отвечает за сборку наших дистрибутивов установщика (с помощью 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 для достижения того же эффекта.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top