私は依存関係管理のためにmavenを使用する非常に大きなプロジェクトに取り組んでいます。その一環として、Mavenプロファイルを使用して、テスト/ dev/production環境で異なる特定のプロパティファイルをビルドして置き換えます。Eclipse(STS)/ Mavenインテグレーションの問題
ビルドを実行するには、私はMavenを実行します:適切なプロファイルを使用してビルドし、mavens reactorは正しい順序でプロジェクトをビルドし、.marsフォルダにjarファイルを保存しますjar(ドメインjarを依存関係としてそのjarファイルに含めます)などです。これにより、最終的にwarファイルが生成され、実行するために必要なすべての正しいライブラリが生成されます。
eclipseがファイルを保存するたびに実行するデフォルトのビルドを実行すると、jarsはプロファイルでビルドされず、通常のビルドでのみビルドされます。
最終的なwarファイルをサーバーにプッシュすると、サーバーが起動したときに展開されます(Eclipseから起動され、展開されます)。mavenがwarファイルにパッケージしたすべてのjarファイルをlibフォルダに入れます。食べていたすべての瓶は造られていた。
例えば
lib/
domain.jar (built by eclipse)
domain.SNAPSHOT.1.0.jar (built by maven)
etc
これを防ぐ方法はありますか?これにより、すべてのプロパティファイルが2つ存在し、ロードされた順序だけが使用されるものを決定する最終的な結果が得られます。さまざまなプロパティとしての実際の手間は、さまざまな環境で使用されます。
EclipseでプロジェクトをMavenプロジェクトとしてインポートしましたか? Build onコマンドラインは正常に動作しますか?最初の "mvn clean package"の代わりに "mvn install"を使用しています... – khmarbaise
POMの複数の場所でfinalNameプロパティが定義されていますか? – Perception
私の完全なMavenビルドゴールは:クリーンインストール-PprofileTestです。 Tomcatの展開された戦争の中でjarファイルの時刻を調べると、domain.jarは10.00というようにビルドされ、domain.SNAPSHOT.1.0.jarは10.06にビルドされました。 6分と推定される)。これは依存関係を解決し、独自のバージョンのjarファイルをサーバーにプッシュしようとしているように、日々の問題ではありません。 –