問題タブ [maven-resources-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.

0 投票する
0 に答える
76 参照

java - Maven コンパイル フェーズにバインドされたプラグインの実行が遅くなります。

2 つの Maven プラグインが構成されています。1 つは exec-maven-plugin で、コンパイル フェーズにバインドされます。もう 1 つの maven-resources-plugin は、prepare-package フェーズにバインドされています。リソースの前に exec を実行する必要がありますが、ビルド ライフサイクルではコンパイル フェーズがパッケージ準備フェーズの前に来るため、これは機能するはずだと考えました。私は何かが欠けているに違いない。

次に、2 つの構成を示します。

と:

これらが順不同で実行されるのはなぜですか?

0 投票する
3 に答える
2799 参照

java - Maven archetype - コロンによる速度エラー

リソースの 1 つにコロン文字 (':') が含まれているため、Maven アーキタイプの作成に問題があります。そのシンボルを含む Spring XML があります。

アーキタイプを起動すると、次のエラーが発生します。

アーキタイプの pom でエスケープ文字を設定してみました:

ただし、まだ機能しません。この場合:

エラーは次のとおりです。

そのコロンをエスケープする方法について何か考えはありますか?

0 投票する
1 に答える
943 参照

java - getClassLoader().getResource("Configuration.xml").getPath() が jar 内で機能しない

リソース ディレクトリ (src/java/resources) を持つ Maven ベースの Java プロジェクトを作成しました。その中にいくつかの xml ファイルがあり、maven はそれらを target/classes/resources にコピーします (target/classes は私のクラスパスです)。

xml ファイルの内容を知るには、次を使用します。

Main.class.getClassLoader().getResource("Configuration.xml").getPath() は、xml のフル パス「c:\project...\Configuration.xml」を提供します。

これは intellij でうまく機能します。

しかし、プロジェクトをコンパイルしてjarファイルにパッケージ化すると、次のようになります。

これは、パス: \C:\project\target\project-12.50.14-SNAPSHOT-jar-with-dependencies .jar!\Configuration.xml を FileInputStream() のパラメーターにすることができないためです。

getResource() を getResourceAsStream() に置き換えることはできません。

jar とリソースを intellij で動作するように調整する方法が必要です。また、実行時にxmlリソースファイルのコンテンツを変更するため、jar内に保持することの別の問題です。

コードを変更する必要がなく、代わりにリソースのディレクトリ構造を変更したり、クラスパスを変更したり、コードが機能し続けるようなソリューションを提供してくれる人はいますか? ありがとう。

0 投票する
2 に答える
3460 参照

maven - プロファイル プロパティを使用した Maven リソース フィルタリング

次の pom.xml があります。

activationの要素profileがコメントアウトされていることに注意してください

私はまた、以下を持っていますsrc/main/java/application.properties

したがって、Maven が行うことを期待しているのは、開発プロファイルがアクティブ化されていない限り、単純に に${foo.bar}置き換えることです。BazBat${foo.bar}Development

実行するmvn packageと、値が に設定されBazBatます。よし、リソース フィルタリングは期待どおりに機能している。

ただし、実行するmvn package -P Developmentと値が設定されますBazBat

さらに混乱させるためactivationに、プロファイルの要素のコメントを外して実行mvn packageすると、次のように設定さ${foo.bar}れますDevelopment

アクティブなプロファイル名を出力するように実行しましたが、上記の両方のシナリオで開発プロファイルがアクティブであると表示されていますが、フラグが設定されmvn help:active-profiles packageていないとフィルタリングは機能しません。activeByDefault

総括する:

  • プロファイルがactiveByDefault
  • コマンドラインスイッチを介してプロファイルをアクティブ化すると、Maven はプロパティをオーバーライドしませ

何が起こっている?

私の環境:

更新: 最新の Maven (3.3.3) にアップグレードしましたが、問題は解決しません。私の新しい環境:

0 投票する
1 に答える
2471 参照

maven - Maven リソース フィルタリング - プロパティ インジェクションが必要なファイルを明示的に指定する

Maven リソース プラグインを使用すると、Maven プロファイル プロパティの挿入中に特定のファイルを柔軟に除外できますか?

  • 注入段階からだけで、ファイルをアセンブリから除外したくありません。

私が取り組んでいるプロジェクトでは、各展開環境の Settings.xml で一意の Maven プロファイル (および対応するプロパティ) を定義しています。プロジェクトがビルドされると、次の手順が発生します

  • プロジェクト POM は、リソース フォルダーをリソース フィルターを適用するターゲットとして定義します。
  • リソース フォルダーには、.XML および .PROPERTIES ファイルが含まれます。
  • mvn:deploy 中、Maven は期待どおりに Profile プロパティを .PROPERTIES ファイルに挿入します。
  • Maven はまた、Profile プロパティを .XML ファイルに挿入します。これは望ましくない動作です (これらのファイルには、アプリケーションのデプロイ中にプロジェクトが柔軟に値を挿入できるようにするプレースホルダーが含まれています)。

リソース プラグインには、包含オプションと除外オプションを定義する構成オプションがありますが、除外オプションを選択すると、指定したファイルがアセンブリ フォルダーから除外されますが、これは望ましくありません。

どのファイルのプレースホルダーを置き換える必要があるかをMavenに伝えることは可能ですか?

0 投票する
1 に答える
1690 参照

java - maven-resources-plugin でフィルタリングするときにバックスラッシュがエスケープされないようにする方法は?

Maven Resources Plugin を使用して、XML リソース ファイル内の XML スキーマの場所を設定したいと考えています。

これは、1 つのことを除いて機能します。置換されたパスには、1 つのブラックスラッシュではなく 2 つのバックスラッシュがあります。

2つの質問:

  1. これは、XSD ファイルを指定するための有効な形式ですか?
  2. 2 つのバックスラッシュの代わりに 1 つのバックスラッシュを使用するように Maven に指示する方法はありますか?

環境変数myxsdpathC:\mypath\myschema.xsd. にはmaven-resources-plugin、フィルタリングをオンにして含めるファイルを指定する以外に、特別な構成はありません。