2017-07-11 7 views
0

2つの異なる方法でパッケージ化してデプロイできるプロジェクトがあります。これはTomcat用のWARまたはAWS Lambda用の影付きのJARのいずれかです。現在のところ、これはあまりうまくいきません。リリースを行うときは、pom.xmlを前後に変更しなければなりません。 Mavenプロファイルでこれを実現する方法はありますか?Mavenプロファイルでのパッケージングの指定方法は?

例えば、私は

mvn install -Pwar 

はWARを生成するためにやってみたい、と

mvn install -Plambda 

は影付きJARを生成します。

これは可能ですか?

+1

を、以下を含むしようとすることができます - 私は(> execution'関連のプラグインのカスタム実行を定義するには - >プラグイン - >プラグイン - >実行あなたのケースでは「影:影」と「戦争:戦争」の目標になると仮定します)。プラグインの通常の実行を無効にすることができます(https://stackoverflow.com/questions/14476757/disable-maven-plugins)。 - 特定のプロファイルを使用する場合 – crizzis

答えて

1

あなたは、単に `プロファイルを使用し、あなたのpom.xmlに

 <packaging>${packaging.type}</packaging> 

     <profiles> 
      <profile> 
       <id>lambda</id> 
       <activation> 
        <activeByDefault>true</activeByDefault> 
       </activation> 
       <properties> 
        <packaging.type>jar</packaging.type> 
       </properties> 
      </profile> 
      <profile> 
       <id>war</id> 
       <properties> 
        <packaging.type>war</packaging.type> 
       </properties> 
        </profile> 
       </profiles> 
関連する問題