4

私のプロジェクトには、親 pom といくつかのサブモジュール pom があります。インストーラ配布可能ファイルのビルドを担当するプラグインを親に入れました (install4j を使用)。このプラグインをサブモジュールで実行するのは意味がないので、以下に示すように、プラグインの構成に false を入れました。問題は、実行すると、親でプラグインmvn clean install install4j:compile <other variables here>をクリーンアップ、コンパイル、および実行し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 を使用しています。

4

2 に答える 2

2

これはいくつかの方法で機能することがわかりました。私が今やっているやり方...

  1. 取り出した<inherited>false</inherited>
  2. ファーストランmvn clean install
  3. 次に、実行しますmvn install4j:compile -N(非再帰の場合)

プラグインは、@aggregator注釈を使用して同じ効果を実現することもできます。

于 2010-03-25T18:32:28.260 に答える