私はmaven-assembly-pluginを使用して依存関係のある実行可能なモノリシックなjarをビルドしています。また、リソースフィルタリングを使用してカスタム、レーン固有の(dev、stage、prodなど)プロパティを設定しています。アセンブリプラグインにMavenプロファイル名を組み込みました(依存関係あり)jar
jarのfinalNameには、レーン名(dev、stage、prodなど)を含めるにはどうすればよいですか?
私は、次のMVNは、次のようになり瓶をもたらすようにコマンドたい:
- -P DEVインストールMVNクリーン - > WS-クライアントDEV.jar
- インストールMVNきれいに-P STAGE - > WS-クライアントSTAGE.jar
- MVNクリーン-P PRODをインストール - > WS-クライアントPROD.jar
私は見つけることができませんどこかMavenのプロパティがありますか?可能であれば、冗長コマンドライン引数を使用しないようにしたいと思います(つまり、 'mvn clean install -P DEV -Dlane = DEV')。 <ビルド>タグの後
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.2.2</version>
<executions>
<execution>
<id>jar-with-dependencies</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<finalName>ws-client</finalName>
<appendAssemblyId>false</appendAssemblyId>
<archive>
<manifest>
<mainClass>Example</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
ファンタスティック、美しく仕上げました! – chadmaughan
finalNameは、現在の実行のターゲットフォルダに格納されている成果物でのみ、展開された成果物では機能しません。 – khmarbaise
@khmarbaise - 正しい。この特定の用途では、jarファイルはリポジトリの外部に配布されています(私は理想的ではありません)。 "mavenless"の消費者はクラスパス上のjarファイルを見て、どのレーンとプロパティを使用しているかを知ることができるように、視覚的な表示が必要でした。 – chadmaughan