12

profile-A と profile-B の 2 つの Maven プロファイルがあります。「A」がアクティブ化されていない場合にのみ、「B」をアクティブ化する必要があります。だから私が電話するなら

mvn install

プロファイル B が実行されます (ただし、プロファイル A は実行されません)。でも電話したら

mvn install -Pprofile-A

次に、プロファイル A のみが実行されます (プロファイル B は実行されません)。

これを達成するために pom.xml を書く必要があるヒントはありますか?

私はすでにこれを試しましたが、うまくいきません:

<profiles>
  <profile>
    <id>profile-A</id>
    <activation>
      <activeByDefault>false</activeByDefault>
    </activation>
    ...
  </profile>

  <profile>
    <id>profile-B</id>
    <activation>
      <activeByDefault>true</activeByDefault>
      <property>
        <name>!profile-A</name>
      </property>       
      ...
    </activation>
    ...
  </profile>
</profiles>
4

1 に答える 1

11

あなたの例のコマンドラインが期待どおりに機能すると思います.必要なのは<activeByDefault>true</activeByDefault>プロファイルB.

http://maven.apache.org/guides/introduction/introduction-to-profiles.htmlの状態:

デフォルトでアクティブになっているすべてのプロファイルは、POM のプロファイルがコマンド ラインまたはそのアクティブ化構成でアクティブ化されると、自動的に非アクティブ化されます。

于 2011-09-08T07:51:02.580 に答える