問題タブ [maven-war-plugin]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Maven2 で、WAR と EAR を構築してその WAR を単一の POM に含める最も簡単な方法は何ですか?
状況はかなり単純です。Mavenで構築するために変換しているJava Webアプリケーションがあります。現在、アプリは Ant を使用して 1 つの WAR ファイルにビルドされ、非常に単純な application.xml を使用して EAR にバンドルされます。
maven-war-plugin
どちらも私にmaven-ear-plugin
は非常に簡単に見えます.WARプロジェクトはEARプロジェクトの依存関係として、上記を2つの異なるプロジェクトと見なすことを余儀なくされているようです. 特にWARプロジェクトのプロファイル設定は環境ごとに変わるため、これは少し不便に思えます.EARをビルドしようとするたびに、ビルドの微調整を繰り返さなければならないようです.
つまり、WAR を構築し、それをこの単純な EAR にパッケージ化する簡単な方法はありますか? これらを 2 つの別々のプロジェクトとして維持することは避けたいと思いますが、同様に、これを達成するためにアセンブリを使用する過度に厄介なハックに頼りたくありません。
maven-2 - maven2:ディレクトリをWARから除外する
ディレクトリ全体($ {basedir} / src / main / webapp / webscripts)をWARファイルから除外しようとしましたが、失敗しました。なにが問題ですか?
これは機能しません:
これも:
誰か助けてもらえますか?
maven-2 - maven: 任意のファイルをサーブレット コンテキスト リソースとして追加する
webapp.war を生成する maven war プロジェクトと、skin.zip (リソースと XML ファイルでいっぱいのファイル) を生成する maven 'skin' プロジェクトがあります。ここで、この zip ファイルをサーブレット コンテキスト リソース (WEB-INF/skin.zip など) として追加します。
オーバーレイを使用してみましたが、展開されていないファイルをそこに配置する代わりに、zip ファイルを WEB-INF に展開します。
リソースが拡張されないようにする方法はありますか-または何らかの方法でファイルをそこに貼り付けます(ant-pluginを使用せずに)。
注:はまったく不要で役に立たない構成要素です。プラグインにアーティファクトを展開する方法を伝えtype
ません。たとえば、タイプを zip から jar に変更すると、(可能な限り最も役に立たない方法で) アーティファクトが見つからないというエラーが表示されます。
maven-2 - クラスの包含をフィルタリングする maven-war-plugin
maven-war-plugin を使用して WEB-INF/classes からファイルを除外することは可能でしょうか?
次の Java パッケージ構造があります。
プロジェクトをビルドするときに、WEB-INF/classes フォルダーに .client.* クラスを入れたくありません。(これは GWT プロジェクトです)。
これは可能ですか?
前もって感謝します!
ニクラス
maven-2 - マルチモジュールプロジェクトでのmaven warプラグインの実行とフィルタリング
私はmavenを使ってマルチモジュールプロジェクトを構築しています。
あるプロジェクトでは、maven-war-plugin を 4 回実行して、すべての実行でいくつかのプロパティをフィルタリングします。スタンドアロンのプロジェクトとしてはうまく機能します。
しかし、マルチモジュールをビルドすると、「親」から4回実行されますが、プロパティをフィルタリングするものはありません。
皆さん、ありがとうございました!
私の pom.xml の一部を次に示します。
java - Mavenwebapp-cache.xmlの問題
Mavenで構成されたWebアプリケーションがあります。これはeclipseでセットアップされておらず、小さな修正であるため、eclipseの外部でリファクタリング(ファイルをあるパッケージから別のパッケージに移動)を実行しました。しかし、ファイル内のこのファイルへの参照を更新するのを忘れました。それから私はmvn clean install
驚くべきことにそれがうまく構築されたことをしました。その後、CIマシンで失敗しました。
リファクタリングしたファイルのテキストオカレンスを検索したところ、ファイル内にこのファイル名のオカレンスが見つかりましたtarget\war\webapp-cache.xml
。このリファクタリングされたファイルの両方の参照(古いパス、新しいパス)が含まれています。
このファイルは何ですか?そして、他の誰かがこの問題に直面しましたか?
更新:このプロジェクトではGWTを使用しています。これを実行するとmvn clean install
、ターゲットフォルダーが削除され、Javaソースのコンパイルが開始され、12の順列を実行した後、JavaスクリプトへのJavaのコンパイルが開始されました。そこで、Ctrl + Cを実行して停止し、mvn install
(クリーンなしで)発行しました。
これが問題のようです。
ただし、GWTがコンパイルを開始する前に、Javaコンパイルを完了する必要があります。このエラー(存在しないJavaファイルを参照)により、Javaコンパイルが失敗するはずです。
spring - オンザフライでフィルタリングするMaven webResources
maven-war-plugin を使用して、WEB-INF の一部のリソースをフィルタリングしています。ほとんどの場合、次のような静的なものを詰め込みます:
また
すべてが素晴らしく機能します。私の問題は、それが開発の悪夢を生み出したことです。私は通常、ローカルの tomcat にホット デプロイし、IDE は (保存時に) 変更をターゲット ディレクトリにコピーします。しかし、それが起こると、最初に war プラグインによって置き換えられたものではなく、ファイルにリテラルの ${property} が作成されます。変更ごとに再デプロイするのではなく、オンザフライでビュー/静的リソースの変更をテストすることをお勧めします。
Tomcatプラグインをいじって実行しましたが、それを使用すると、デプロイに使用しない限りリソースフィルタリングが行われません。その場合、ホットスワップ機能が失われます。
私は春を使用しています。テーマを使用し、テーマのプロパティをフィルタリングしてから、それを使用してビューの値を置き換えても問題ありません。しかし、js/css/その他の静的なものはどうですか?
war プラグインを「オンザフライでフィルタリング」する方法はありますか? 私がやろうとしていることを達成するためのより良い方法を誰かが推奨できますか? 私はそれをあまりにも長い間見てきて、この問題についていくつかのトンネルビジョンを持っているように感じます.
java - 「mvn package」の失敗は、Eclipse ではこの Maven Web アプリケーションが実行されます
「mvn clean package」を実行した後、次のエラーが発生しました。
[エラー] プロジェクト webapp1 で目標 org.apache.maven.plugins:maven-war-plugin:2.1.1:war (default-war) を実行できませんでした: WAR の組み立て中にエラーが発生しました: webxml 属性が必要です (または既存の更新モードで実行する場合はWEB-INF/web.xml) → [ヘルプ1]
ただし、この Maven Web アプリケーションは Eclipse (Run As / Run on Server) 経由でスムーズに実行されます。
java - maven-war-pluginに基づくMavenパッケージ
カスタムパッケージを実装し、それを「パッケージ」フェーズにバインドするためにMavenで必要な手順について疑問に思っています。
基本的に必要なのは、標準のmaven-war-pluginを呼び出して、作成されたWARファイルを含む特定の構造のZIPアーカイブを作成することです。私はこれらのタスクを別々に行う方法を知っていますが、それらを結び付ける方法を完全には理解していません。
私はこのようなシーケンスを想定しています:
あるフェーズで、maven-war-pluginが呼び出されます。WAR固有のものを自動的に処理し、WARファイルを作成します
'package'フェーズでは、maven-assembly-pluginが呼び出されます。必要な構造のZIPアーカイブを作成します。
これらのタスクをPOMファイルで定義し、ビルドライフサイクルにバインドするための最も簡単で適切な方法は何でしょうか。