問題タブ [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 - web.xml の欠落で失敗しないように構成した場合、web.xml の欠落で maven-war-plugin が失敗するのはなぜですか?
ここに課題があります: このビルドが失敗するのはなぜですか?
不在の web.xml ファイルで失敗しないように Maven の maven-war-plugin を構成しました。
しかし、この構成にもかかわらず、次のように失敗し続けます。
私は実際には web.xml を持っていないので、それなしで戦争を組み立てるのに必要です。
構成に偽物を追加しようとし<webXml>none</webXml>
ましたが、何も変わりませんでした...
私は何が欠けていますか?
maven - war から META-INF ディレクトリを除外する
私の質問は奇妙に思えるかもしれませんが、meta-inf ディレクトリ全体を war から除外するにはどうすればよいですか? 私は試した:
私も試しました:
これが必要な理由は、展開されたアプリケーションの一種のパッチとなるアーカイブを生成しようとしているためです。不要なファイルを上書きしたくないからです。
java - Maven War プラグインでのフィルタリング
次の maven war プラグインのフィルター構成がわかりません。彼らが何をしているのか、誰か説明してくれませんか?最初の例と2番目の例でコードをマークしました
maven - Clover プラグインの終了後に Maven の project.build 変数を元に戻すには?
大規模な Maven プロジェクトに統合テストを追加しようとしています。イベントの望ましい順序は次のとおりです。
- 既存のアーティファクトを消去します。
- 依存関係を解決し、プロジェクトをビルドします。
- Surefire プラグインを介して単体テストを実行します。
- Clover プラグインのフォーク ライフサイクル。
- --- Clover プラグインを使用してソースを計測します。
- --- Clover の project.build.directory と project.build.finalName を変更します。
- --- 新しいディレクトリに Clover インストルメント化プロジェクトをビルドします。
- --- Surefire プラグインを介して Clover の計測ユニット テストを実行します。
- --- Clover のインストルメント化された単体テストからコード カバレッジを確認します。
- --- project.build.directory と project.build.finalName を元の値にリセットします。
- --- フォークされたライフサイクルを終了します (Clover は「テスト」段階でのみフォークします)。
- プロジェクトを WAR ファイルとしてパッケージ化します。
- Tomcat7 プラグインを介してプロジェクト WAR ファイルをローカルでホストします。
- Surefire プラグインを介して Tomcat7 インスタンスに対して統合テストを実行します。
手順 9 を除いて、これはすべて期待どおりに機能します (したがって、質問です)。代わりに、ビルド ディレクトリは引き続き Clover バージョンに設定され、プロジェクト名には「-clover」が追加されます。「MyProject-clover.war」が Tomcat7 によってホストされている場合、期待どおりに機能しないこともわかりました (ブラウザーで 404 エラーが返されます)。
たとえそれが機能したとしても、統合テストは本番コードに触れないため、テスト対象のWARファイルにCloverインストルメンテーションは必要ありません/必要ありません(src/test/javaの下のすべてのSelenium UIのものです本番コード自体ではなく、ローカルでホストされているページと対話します)。
前述のとおり、これは数百の依存関係と数十のプラグインを含む大規模なプロジェクトです。以下は私の問題に関連していると思いますが、必要に応じてさらに掘り下げることができます (pom ファイル全体を投稿するのは不合理に思えます)。
Clover プラグインの pom 構成は次のとおりです。
WAR プラグインの pom 構成は次のとおりです。
Tomcat7 プラグインの pom 構成は次のとおりです。
「mvn clean install -Dmaven.clover.skip」を実行したときの現在の(望ましい)動作は次のとおりです。
「mvn clean install」を実行したときの現在の(望ましくない)動作は次のとおりです(maven-war-pluginによってリストされたパスとmaven-source-pluginからの警告メッセージに注意してください:
のテスト段階で Clover が maven-clover2-plugin:check ゴールの実行を終了した後、 {project.build.directory} と {project.build.finalName} の値が元の値にリセットされるようにするにはどうすればよいですか?分岐したライフサイクル?
Clover、WARプラグイン、およびTomcat7のオンライン マニュアルを参照してみました。Clover によって変更されたビルド変数を元に戻すために使用できる設定については言及されていません。私はいつでも pom ファイルにパスをハードコードすることができますが、より脆弱でない解決策を好みます。
maven - Maven-WARプラグインから作成したJARファイルをビルドパスにする方法
Maven -war プラグインを使用して、別の参照 WAR から JAR を作成しました。これで、この JAR がターゲット フォルダーで利用できるようになりました。私の問題は、ターゲット フォルダーに作成された JAR 内で使用可能なクラスを使用する必要があることですが、JAR からクラスを取得できません。
作成した JAR を POM を介してクラスパスで利用できるようにすることは可能ですか。以下のような私のmaven WARプラグイン。
java - Maven - jar を生成して maven ローカル リポジトリにインストールする maven-war-plugin
ビルドで自分のファイルと並行してファイルpom.xml
を生成するために、自分で maven-war-plugin を使用しています。私のビルドは、ターゲット ディレクトリにファイルを作成しています。そして、ファイルのみがローカルリポジトリにインストールされます。作成されたファイルもローカル リポジトリにプッシュする方法はありますか。以下は私のpom.xmlのスニペットですjar
war
java web project
maven
war
jar
war
jar
前もって感謝します!
pom.xml コンテンツ:
google-app-engine - Appengine Maven プラグイン - エンドポイントの目標 - .discovery ファイルのフィルタリングを有効にする
このガイドに従って、Maven プロジェクトに Google Cloud Endpoints を実装しました。
ここに私のpom.xmlのプロパティがあります
これが pom.xml の私の maven-war-plugin 構成です
これが私の appengine-web.xml ファイルの先頭です
生成データはこちら
.discoveryファイルが作成中に maven プロパティを解決 しない問題
mystore-v1-rest.discovery
mystore-v1-rpc.discovery
このファイルが、WEB-INF フォルダーに保存されている他のファイルのようにフィルター処理されないのはなぜですか?
多くのファイル (WEB-INF 親フォルダーの下) で Maven 変数を使用していますが、値は問題なく置き換えられます。
.discoveryファイルでもフィルタリングできるように構成を調整するにはどうすればよいですか?
application
(lib 生成中に) appengine-web.xml からの値が値を解決せずに取得され、Maven ビルド中にフィルタリングが適用されないと思います。
<filtering>true</filtering>
リソース構成に追加しようとしましたが、成功しませんでした
--- 編集 25/01/2014 ---
いくつかの提案を受けた後、元の投稿で書き忘れたことを明確にする必要があります。
問題はに関連していますendpoints_get_discovery_doc
ここにMavenの目標のログがあります
ファイル\target\generated-sources\appengine-endpoints\WEB-INF/mystore-v3-rpc.discovery
は endpoints ゴールによって生成され、フィルタリングされません。
フィルタリング機能があっても
生成されたファイルはフィルタリングされません。
ファイルをフォルダに直接書き込むと${project.build.directory}/generated-sources/appengine-endpoints
、ファイルがフィルタリングされないことが問題でしょうか?
java - maven-war-plugin を使用してキーが「WEB-INF/classes/META-INF/MANIFEST.MF」とマージされないのはなぜですか?
アプリケーションを構築してから、MANIFEST.MF ファイルにいくつかのカスタム キーをマージしています。
私は 2 つのプロファイルを持っています。プロダクション プロファイルは次のリソース構成を使用します。
デフォルトの MANIFEST.MF は にありsrc/main/resources/all/META-INF/MANIFEST.MF
、これをベースとして使用する必要があります。
私は何を期待していますか?
MANIFEST.MF はmyproject.war/WEB-INF/classes/META-INF/MANIFEST.MF
、提供された値に従って更新された「Build-Time」と「Build-Revision」で利用できると期待しています。次に、実行時に MANIFEST.MF ファイルにアクセスして、「Build-Revision」キーを取得し、キャッシュを処理できるようになります。
代わりに何が起こりますか?
myproject.war/META-INF/MANIFEST.MF
代わりに、値が更新された MANIFEST.MF が内部で作成され、WEB-INF
キーが更新されていない MANIFEST.MF のコピーがその場所に存在します。
WEB-INF/classes/META-INF/MANIFEST.MF が maven-war-plugin で更新されないのはなぜですか?