問題タブ [maven-replacer-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 投票する
2 に答える
7096 参照

maven - Maven 置換: ドル記号を含む置換値

一部のファイルの内容を変更する必要がある Maven スクリプトを扱っています。現在、replacer プラグインを使用していますが、置換値にドル記号が含まれていると問題が発生します。

私が問題を抱えている置換は比較的単純です。私のlog4j.xmlで、行<param name="File" value="wat.log" />を次のように置き換えます<param name="File" value="${FOO_BAR}/wat.log" />

そのように書かれていると、Mavenは${FOO_BAR}プロパティとして解釈することを私は知っています。解決策を調べて試してみました。ちょうど使うとき${FOO}

結果はエラーnamed capturing group is missing trailing '}'です。私が理解しているように、プラグインは、正規表現でグループをキャプチャするために、置換テキストのドル記号とカーリーを解釈する通常の Java 正規表現置換を使用します。

他にもいくつか試してみましたが、この場合の特定のエラーはアンダースコアが原因のようです。fooプロパティをに変更する{FOOBAR}と、エラーが変わります: No group with name {FOOBAR}

他にもいくつか試しました:

  • fooプロパティをに変更する{foo}と、エラーは発生しませんが、置換によって が削除$value="{foo}/wat.log"fooますFOO_BAR
  • プロパティを変更するとエラーが発生{dollar}しますIllegal group reference
  • ドル記号、中括弧、および/またはアンダースコアをいくつかの異なる方法 (例: $$\$\\$) でエスケープしても、ドル記号に Unicode や $ を使用しても、それ以上のことはできませんでした。

Mavenでこれを実際に解決する方法はありますか? より多くのプロパティ、より多くの置換、またはまったく異なるプラグインを使用できれば幸いです。

更新:私は Windows で作業しています - それが結果に影響するかどうか、またはどのように影響するかはわかりません。

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

maven - WAR パッケージ用の Google Maven 置換を使用して web.xml 内のトークンを置換する

web.xmlは下${project.root}\src\main\webapp\WEB-INFです。

を使用して、ソース ディレクトリではなく WAR にパッケージ化されてcom.google.code.maven-replacer-pluginいる場合に、その内部のいくつかのトークンを置き換えたいと考えています。

私は試した:

しかし、私は得ました

このファイルはtargetファイル構造の下にコピーされず、ソースから WAR に直接取り込まれるだけなので (またはそう思う)、上記のconfiguration->fileパラメーターでそのパスを参照して、置換プログラムがそれを見つけてトークンを置き換えるにはどうすればよいですか?

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

war - Maven は置換された文字列でファイルを上書きします

Java+Spring+FreeMarker で Web アプリを作成していますが、アプリのバージョンを FreeMarker テンプレートに直接書き込みたいと考えています。maven replacer プラグインを使用してみましたが、war パッケージを作成すると、文字列が置き換えられたファイル (ターゲットディレクトリ内) が、オリジン トークンを含むファイルで上書きされます。pom.xmlからの引用は次のとおりです。

私が間違っていることは何ですか?

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

maven - Maven-replacer-plugin が maven-war-plugin で呼び出されない

maven を使用して、文字列 %APP_NAME% を jdbc.properties の環境変数に置き換えようとしています。次の構成があります。

私が呼び出すとき:

また

置換プラグインは呼び出されません。誰でもその理由と、それを機能させるために何ができるかを説明できますか? または、replacer が将来の戦争プラグインと互換性がない場合、戦争を構築する前に jdbc.properties の文字列を置き換える他の方法を誰かが説明できますか? ant プラグインも見ましたが、同じ構成では呼び出されません..以下の例..

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

maven-replacer-plugin - 複数のファイルを含む maven-replacer-plugin

maven-replacer-plugin を使用して、複数のファイルの値を置き換えようとしています。

最初に、私はすでにこのトピックを読んでおり、答えはありません。コメントするのに十分なポイントがなく、SOF で愚かにポイントを獲得する時間も意志もありません。したがって、この重複については申し訳ありませんが、前進する必要があります。

要点に戻ると、これが私のポンです

mvn replacer:replace

[INFO] --- replacer:1.5.1:replace (default-cli) @ digishop-a --- [INFO] 置換は 0 ファイルで実行されました。

で解決策を試しました

それもうまくいきませんでした。