1. ホーム
  2. maven-2

[解決済み] Mavenのリアクタービルドからモジュールを除外する方法は?

2022-05-15 22:42:57

質問

私たちは、多くのモジュールを含むMaven 2プロジェクトを持っています。例を挙げます。

<modules>
  <module>common</module>
  <module>foo</module>
  <module>data</module>
  <module>bar</module>
  ... more ...
</module>

例えば、"data" モジュールはビルドに時間がかかるので、CIサーバーでプロジェクトをビルドする際に除外したいとします。現在、これを実現するために2つのpom.xmlファイルを使っています。1つはすべてのモジュールを含むもので、もう1つはCIで除外できるモジュールを除くすべてのモジュールを含むものです。しかし、これはかなり面倒なことで、時々新しいモジュールを ファイルに入れるのを忘れることがあるからです。

2つの別々のモジュールリストを必要としない解決策はありますか?

どのように解決するのですか?

最も簡単なのは profiles をこのように使います。

<project>
  ...
  <modules>
    <module>common</module>
    <module>foo</module>
    <module>bar</module>
  <modules>
  ...
  <profiles>
    <profile>
      <id>expensive-modules-to-build</id>
      <modules>
        <module>data</module>
      </modules>
    </profile>
  </profiles>
</project>

次に プロファイルを有効にする方法