Maven: пытается заставить poms моего подмодуля НЕ наследовать плагин в родительском - PullRequest
4 голосов
/ 25 марта 2010

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

Я неправильно понимаю цель унаследованного = ложного? Как правильно заставить это работать? Я использую Maven 2.2.0.

1 Ответ

1 голос
/ 25 марта 2010

Я обнаружил, что это может работать несколькими способами. То, как я это делаю сейчас ...

1) Взял <inherited>false</inherited>
2) Первый запуск mvn clean install
3) Затем запустите mvn install4j: compile -N (для нерекурсивного)

Плагин также может использовать аннотацию @aggregator для достижения того же эффекта.

...