2017-03-20 9 views
0

私はMavenのプロファイルページを読んで理解しようとしましたが、私のニーズに合わせてif-else-contextでプロファイルを使用する方法を理解できません。Maven:プロファイルに基づいてcliコマンドを実行します(他の場合)

私は1つは、次のコードは、すでに与えている取り組んでいるプロジェクトでのpom.xml:

<build> 
    <pluginManagement> 
     <plugins> 
      <plugin> 
       <groupId>com.github.eirslett</groupId> 
       <artifactId>frontend-maven-plugin</artifactId> 
       <version>${frontend-maven-plugin.version}</version> 
        <executions> 
        <execution> 
         <id>npm build</id> 
         <goals> 
          <goal>npm</goal> 
         </goals> 
         <configuration> 
          <arguments>run build</arguments> 
         </configuration> 
        </execution> 
       </executions> 
... 

は、私は(擬似コード)

if (profile(debug)){ 
    <arguments>run build-debug</arguments> 
} else { 
    <arguments>run build</arguments> 
} 

どのようなものを実装したいのですが私はMavenでこれを行うことはできますか?

答えて

1

まず、2つのプロファイルを宣言する必要があります。 「デバッグ」と「プロード」としましょう。対応するパラメータを使用して、各プロファイルにプラグイン宣言全体を記述する必要があります。

のような何か:明示的なプロファイルが設定されていない場合prodプロファイルがアクティブになることを

<profiles> 
    <profile> 
    <id>prod</id> 
    <activation> 
     <activeByDefault>true</activeByDefault> 
    </activation> 
     <build> 
      <plugins> 
       <plugin> 
       <groupId>com.github.eirslett</groupId> 
       <artifactId>frontend-maven-plugin</artifactId> 
       <version>${frontend-maven-plugin.version}</version> 
       ... 
       <arguments>run build</arguments> 
       </plugin> 
      </plugins> 
     </build> 
    </profile> 
    <profile> 
    <id>debug</id> 
     <build> 
      <plugins> 
       <plugin> 
       <groupId>com.github.eirslett</groupId> 
       <artifactId>frontend-maven-plugin</artifactId> 
       <version>${frontend-maven-plugin.version}</version> 
       ... 
       <arguments>run build-debug</arguments> 
       </plugin> 
      </plugins> 
     </build> 
    </profile> 
</profiles> 

注意してください。デバッグプロファイルを実行するには、

mvn package -P debug 

ビルドプロファイルの作成方法ではないため、if-elseでは達成できません。

+0

ありがとうございます。これは、私がmavenの設定を少し良くするのに役立ちました。 – phip1611

関連する問題