を動作していませんtarget/test-classes
ディレクトリに移動し、自動的にp1の値を変更します。しかし、それは動作しません。リソースをコピーしますが、値は変更されません。Mavenのリソースは、プラグインのフィルタリング私は次のようでPOMを持っている
3
A
答えて
3
問題は、テストリソースの代わりにメインリソースを設定していることです。主リソースはresource
要素で構成され、テストリソースはtestResource
要素で構成されます。現在の設定では、src/test/resources
以下のファイルはフィルタリングされたメインリソースとして扱われ、実際のテストリソースはフィルタリングされません。このため、コピーされたプロパティファイルtarget/test-classes
の下にはフィルタが適用されません。あなたが探しているもの
は次のようになります。これにより
<testResources>
<testResource>
<directory>src/test/resources</directory>
<filtering>true</filtering>
</testResource>
</testResources>
、src/test/resources
下のファイルを濾過し、テストリソースとして扱われ、主なリソースはそのまま残されます。
1
mavenプロパティプラグインのcopy-resourcesゴールを使用すると、同様の問題が発生しました。リソースはコピーされましたが、プレースホルダは置き換えられませんでした。私にとっては、これは愚かな間違いのためでした - 私はearail mavenフェーズ(validate
)のリソースをコピーし、後のフェーズ(initialize
)にプレースホルダプロパティファイルを含めました...そのプロパティはまだ利用できませんでした。
私はinitialize
にvalidate
とプレースホルダを含めることにプロパティを含むの位相を変更し、すべてが正常に動作します。
:プロパティの
含めると、検証でファイル:initialize
で
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>properties-maven-plugin</artifactId>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>read-project-properties</goal>
</goals>
<configuration>
<files>
<file>${project.basedir}/path/to/placeholders.properties</file>
</files>
</configuration>
</execution>
</executions>
</plugin>
コピー資源:
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>copy-resources</id>
<!-- here the phase you need -->
<phase>initialize</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<encoding>UTF-8</encoding>
<outputDirectory>${project.build.directory}/classes</outputDirectory>
<resources>
<resource>
<directory>${basedir}/path/to/directory/with/resources/to/copy</directory>
<filtering>true</filtering>
</resource>
</resources>
</configuration>
</execution>
関連する問題
- 1. Mavenは、私は、次のPOMでプロジェクトを持っているインストールローカル依存
- 2. は、次のように私はMavenのポンポンを持っているのMaven
- 3. このような構造で、私はMavenプロジェクト内の親POMを持って
- 4. Mavenの(マルチモジュールプロジェクト) - 次のように私は、マルチモジュールMavenプロジェクトを持っているモジュール
- 5. は、どのように私は次のリソースを持っているジャンゴ - tastypie
- 6. jQueryプラグインは、私は、次のjQueryプラグインを持っている私のパラメータ
- 7. フィルタリングは、私は次のモデル持っている他のフィルタ
- 8. フィルタリングは、私は次のセットアップを持っている
- 9. は、私がポンポンファイルに次のように持っているのmaven
- 10. は、私はMavenプロジェクトの次のツリー構造を持っているのmaven
- 11. のMaven POM - プラグインの設定
- 12. は、私は次のようexceptionHandlerのを持っている
- 13. 私のMavenのモジュールは、私は次の階層を持っているJAR
- 14. は、私は次のように私は、目標を持っているのbuild.xmlを持っているのAnt
- 15. は、次のように私はクラスを持っているクラス
- 16. Pythonは次のように私はURLを持っている
- 17. は、私は、次のようなXMLファイルを持っている
- 18. は、次のように私は、ヘッダファイルを持っている
- 19. は、私は次のような問題を持っている
- 20. は、私は次のようにJSONオブジェクトを持っている
- 21. は、私は次のようなデータを持っているストリーム
- 22. 私は次のようなマークアップを持っているのdiv
- 23. 私は次のようなボタンを持っているjQueryの
- 24. 次のように私は、テーブルのデータを持っている
- 25. 次のように私は、XMLを持っているのjavascript
- 26. は、私は次のように持っている力componentDidMount
- 27. 私は次のようにmysqlのテーブル持っているMYSQL
- 28. 私は次のように持っている固有のID
- 29. は、どのように私は次のように持っているのC#
- 30. 次のように私はテーブルを持っているハイブ
あなたが本当にあなたに 'P1 = bbbbbb'を持っていますかプロパティファイル?あなたは 'p1 = $ {prop1}'を持つべきです。 – Tunaki
申し訳ありませんが、プロパティファイルにその問題を修正しました。今私はp1 = $ {prop1}がありますが、それでも動作しません。 .propertiesファイルをそのままコピーします。 – fhcat
私はmvn clean verifyを実行しています。 – fhcat