問題タブ [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.
maven - 「最終」lib フォルダーを使用するための jetty:run の構成
war
オーバーレイを使用する Maven プロジェクトがあります。この回答で概説されているように、WAR オーバーレイの問題の 1 つは、Maven の依存関係の解決を効果的に回避しているように見えることです。これにより、ビルドおよび/またはランタイム検証エラーが発生します。
幸いなことに、overlay/excludes
構成ディレクティブを使用するという解決策があります。これにより、結果WAR
が必要なものだけを持つことが保証されます。
ただし、ライブラリの解決にプラグインのディレクトリをjetty:run
使用しているようです(これには「悪い」JAR が含まれています)。war
work
jetty:run-war
この問題は、またはを使用することで回避できますjetty:run-exploded
。
でも、
- ほとんどのプロジェクトは を使用して正常に実行
jetty:run
されるため、 - また
jetty-run
、scanInterval を使用すると、開発中に非常に便利です。
run
目標がターゲットlib
フォルダーを使用するように強制するような構成変更を POM に追加できるかどうかを知りたいですか?
説明のために、具体例を次に示します。
- プロジェクトは
org.apache.solr:solr:3.6.2
オーバーレイを使用し、 - オーバーレイには Guava の古いバージョンが含まれてい
r05
ますが、コードはより新しいバージョンを使用しています14.0.1
。 - 前に述べたように、ターゲット アーティファクト
war
は問題ありませんが、バージョンがクラスパスにjetty:run
含まれているため、コードで検証エラーが発生します。r05
POM の例を次に示します。
maven - 生成された MANIFEST.MF ファイルを maven-war-plugin から取得するにはどうすればよいですか?
ビルド プロセスの一環として、war プラグインによって生成されたマニフェスト ファイルにあるのと同じ情報を含めたい別のアーティファクト (内部に静的 Web ファイルを含む圧縮ファイル) を生成しています。マニフェスト ファイルは war ファイルに正しく生成されますが、コピーして圧縮ファイルにも入れることができるようにアクセスしたいと思います。
maven-war-plugin:manifest ゴールのドキュメントには、次のように書かれています。
マニフェスト ファイルは warSourceDirectory に作成されます。
デフォルトの場所は次のとおりです: ${basedir}/src/main/webapp
ただし、生成されるマニフェストは戦争内のみです。生成されたマニフェスト ファイルがソースに配置されることも意味がありません。戦争がパッケージ化されたターゲットに入れられると思います。
何か不足していますか?
maven - maven がフィルタリングされた persistence.xml のコピーを 2 つ作成するのはなぜですか?
以下は、私が取り組んでいるmavenプロジェクトの関連セクションです。Maven で WEB-INF ディレクトリ内の persistence-context.xml ファイルをフィルタリングしてから、war 内の WEB-INF ディレクトリに配置するようにします。このプロジェクトで mvn clean package を実行すると、次の 2 つのことがわかります。
target/projectname/ フォルダー内の persistence-context.xml が正常にフィルター処理されました。これは正しい場所ではありません。WEB-INF の 1 つ上のディレクトリが必要です。
target/projectname/WEB-INF/ フォルダー内のフィルター処理されていない persistence-context.xml。これは私が望むものではありません。ここでフィルタリングしたものが欲しいです。
このファイルの 2 つのコピーがどのように生成されているのかさえわかりません。どんな助けでも大歓迎です。
maven - maven-war-plugin が WAR ではなく JAR を生成するのはなぜですか?
最初に CXFチュートリアルを使用してこの コントラクトに従っていますが、結果としてソースが生成され、ビルドが正常に完了するまで、WAR ファイルの作成に失敗します。pom.xml
代わりに、JAR ファイルを作成します。
私の理解では、WAR の作成を担当するpom.xmlの部分は次のとおりです。
そこには (要素とは異なり)<goal>
または要素は表示されませんが、このプラグインでは、公式の使用ページでさえ示されているように、これが暗示されていることも理解しています:<execution>
build-helper-maven-plugin
それで...何が足りないのですか?
maven-war-plugin
このように予期しない動作をし、デフォルトで WAR ではなく JAR を生成する を説明できるものは何ですか?
強制的にWARを生成する方法はありますか?
maven - Maven:戦争でクラスのjar名を変更するには?
モジュールクラスをjarにパックするために、maven-war-pluginの設定でarchiveClasses
andを使用します。attachClasses
しかし、この .jar 名を変更したいと思います。たとえば、module-war-1.0-SNAPSHOT.jar の代わりに war-classes.jar を使用します。
できるとしたらどうすればいいですか?
maven - ビルドプロセス中にSpringのxmlファイルを置き換える方法
現在、Spring MVC Web アプリケーションを単一の war ファイルにバンドルしています。問題は、Spring コンテキスト xml ファイルの開発バージョンがサーバーにデプロイされていることです。
xml ファイルに mysql と hibernate のデバッグまたは最適化されていない構成がたくさんあります。
ビルド プロセス中にこのファイルを製品版と交換するにはどうすればよいですか?