はのは、私がMaven
によって生成mywebapp.war
経由で展開され、非常に一般的なWebアプリケーションを、持っているとしましょう:JARファイルを既存のwebappサブディレクトリにデプロイする方法は?
webapps
|
|--mywebapp.war
|--mywebapp
|
|--images
|--js
|--jsp
|--jardeploy
|--META-INF
|--styles
|--WEB-INF
今、私はwebapps/mywebapp/jardeploy
にmyjarfile1.jar
とmyjarfile2.jar
(またはそれ以上)を展開したいと思います。彼らは戦争を起こすものではなく、別のMavenプロジェクトの成果物です。これらはまた、mywebappが使用するjarファイルではなく、WEB-INF/lib
の下にありますが、ダウンロード可能なjarファイルは別にビルドされ、mywebappソースコードの一部ではありません。
webapps
に落ちたときに、デフォルトではないwebapps/jardeploy
ではなくwebapps/mywebapp/jardeploy
をに展開しまいますMavenの中に二つ以上のjarファイルを束ねるアーカイブをパッケージ化する方法はありますか? jarファイルをコピーしてそのディレクトリにコピーしたのと同じですが、hackyの以前のアプローチではなく、webappsで生成された成果物を削除することで、標準のアプリケーションサーバーデプロイメントプロトコルに従いたいと考えています。私は実際にポストデプロイメントアドオンではなく正式なアーティファクト(戦争のようなもの)を望んでいます。 jarを解凍してそのディレクトリに置く必要がある(おそらくマニフェストの中に)そのディレクトリが存在するかどうかを伝える方法はありますか?
コンテナは問題ないはずが、それは私が何かが欠けていない限り、これは、Mavenの戦争 - プラグインと、余分なリソースのための標準的なユースケースのように見える
「mywebapp」によって使用されない場合、パッケージ化する必要があるのはなぜですか?あなたが 'mywebapp'でそれらを使用するのであれば、なぜそれらを別のディレクトリに展開する必要がありますか? – ayip
これは実際にmywebappから起動されたwebstartとして使用されています。しかし、ビルドプロセスは、Webアプリケーションを含むものとはまったく異なります。これはアプリ内のアプリです。 – amphibient
たとえば、jarがサイト上の永続的なダウンロードリンクであった場合でも、バージョニングのために頻繁に再構築する必要があります(プロジェクト構造内の静的ファイルではない)。したがって、あなたのWebアプリケーションをビルドし、次にダウンロード可能な成果物を構築します(Webstartが本質的に+実行可能なものです)。 – amphibient