2

私はmavenプロジェクトを持っています。これは、本番環境と開発環境用のプロパティファイルの設定がかなり異なります。最も一般的な方法は、ビルドプロセス中に異なるプロパティをパッケージ化する異なるMavenプロファイル(デフォルトではdev)を持つことです。 別の方法がありますか?さまざまな環境でパッケージを構築する最も簡単な方法は何ですか?

答えて

0

環境に依存関係を設定して、mavenプロジェクトから単一の成果物を構築し、配備中にプロパティを提供する別の方法があります。この場合、mavenは特定の環境について何も知らない。

など。 -Dmy.config.file=/path/to/env/my.propertiesをjavaコマンドラインに入れたり、JNDIを使用したり、データベースからプロパティを読み込んだりするなどの方法があります。

これは、さまざまな環境がある場合や、それらについて何も知らない場合(例:.warアプリケーションをエンドユーザーに配布する場合)、より実行可能なアプローチです。

+0

という名前のプロパティをすべて移動するのは非常に複雑です。他のプロファイルを作成する方が簡単です... – javagirl

1

プロファイルの問題は、ビルドをプロファイルの回数実行する必要があることです。つまり、ビルドを5回実行する必要がある5つのプロファイル(開発者、事前テスト、プリライブ、qa、prod)がある場合、私は、適切に構成された5つのアーティファクト(通常は戦争のものなど)を直接ビルドした結果、別の方法とプロダクションを行うことを提案します。これは私が作り出したexampleを使って実現できます。これは人生を楽にするものです。この例では、

+0

というビルドを自動化する理由はありますがJenkins –

+0

これは何も変更しません。ビルドを複数回実行する必要があります。ビルド全体を1回だけ実行する必要がある場合は必要ありません。 – khmarbaise

関連する問題