実行可能なwarファイルの作成を簡略化するMavenプラグインを作成しました。この方法は、http://uguptablog.blogspot.co.uk/2012/09/embedded-jetty-executable-war-with.htmlに記載されている方法に似ています。私たちのカスタムmojoは、antrunプラグインとunpack-dependenciesの作業を行い、開発者が単純なWebアプリケーションを心配する必要がない、混乱と詳細を大幅に削減します。別のMavenプラグインからパッケージ化する際にMANIFEST.MFにエントリを追加する
プラグインが正常に動作している、そしてWebアプリケーションPOMは次のようになります。私たちが何をしたいのですがどのような
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.2</version>
<configuration>
<attachClasses>true</attachClasses>
<archive>
<manifest>
<mainClass>com.acme.Bootstrap</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>com.acme</groupId>
<artifactId>exec-war-plugin</artifactId>
<version>1.0-SNAPSHOT</version>
</plugin>
は、唯一のメインを書き込むために必要だとして、Mavenの戦争 - プラグインの設定を削除で-Classプロパティをマニフェストに追加します。これを実現する方法を見るのに苦労していますが、私は、2つの可能なアプローチを見ることができます:
はどういうわけか、余分なマニフェストエントリが必要とされていることを私たちのモジョから定期的な戦争のプラグインに示します。これがリモートでも可能かどうかわかりません
デフォルトのwarプラグインを拡張しましたか?私は戦争のプラグインがパッケージング/ライフサイクルに縛られているのでこれが可能かどうかは分かりませんが、別のプラグインからこのプラグインに影響を与えることはできません。各プロジェクトはライフサイクルをカスタマイズする必要があります。ライフサイクルは、上記の設定よりもはるかに難しいオブジェクトです。
ご忠告いただきありがとうございます。
プラグインでマニフェストファイルを自分で作成しないとどうなりますか? – khmarbaise
標準のwarプラグインは、このケースではカスタムWARプラグインを上書きします。 – jugglingcats