2

Tomcat で実行されているアプリケーションがあり、実行する環境 (開発、テスト、および運用) ごとに異なる一連の構成ファイルがあります。ただし、構成ファイルのすべての行が環境間で異なるわけではないため、何かが変更されても更新されない重複した情報が常に存在します。

個別のファイルを環境固有のブロックを持つ 1 つに折りたたむ優れたフレームワーク/ライブラリはありますか? または、これに対処する他の方法はありますか?

4

5 に答える 5

2
  1. .war ファイル内で配布されるプロパティー・ファイル内のすべてのプロパティーに妥当なデフォルト値を割り当てます。
  2. webapp コンテキストの適切なプロパティに環境固有の値を割り当てます (例: conf/server.xml または conf/Catalina/localhost/yourapp.xml)。
  3. アプリケーションで最初にコンテキストをチェックし (環境固有の値について)、オーバーライドが見つからない場合は、アプリのプロパティ値の既定値にフォールバックします。
于 2008-10-14T03:14:56.513 に答える
1

プロパティ ファイルは、私がいつも使用しているものです。これは手動でもソフトウェアでも編集可能であり、Properties オブジェクトはそれ自体を読み込んでファイルシステムに書き出すことができます。javadoc ページは次のとおりです。

http://java.sun.com/j2se/1.4.2/docs/api/java/util/Properties.html

于 2008-10-14T02:59:33.423 に答える
1

Maven を使用する場合は、そのリソース フィルタリング機能とプロファイルを使用して、デプロイ先の環境ごとにプロパティ ファイルを生成できます。

追加のボーナスとして、maven は Web アプリをデプロイすることもできます。

于 2008-10-14T03:43:12.570 に答える
0

重複は実際には問題ではありません。中央の構成ファイルを他のファイルに「拡張」させると、長期的にはさらに頭痛の種になる可能性があります。

私のアドバイスは、ant を使用して適切なファイルを適切な場所にロード (コピーおよび移動) してから、アプリを起動することです (戦争にバンドルしますか?)。環境ごとに異なるタスクを用意するだけです。そのため、実行中のタスクに応じて、3 つの構成ファイル (dev.config、test.config、および production.config) が移動され、/WEB-INF フォルダー内の構成が上書きされます。

于 2008-10-14T03:04:33.337 に答える
0

混乱を避けたい場合は、環境パラメーターのみの個別の構成ファイルを用意することをお勧めします。次に、管理する構成ファイルがもう 1 つあります。これは、構成ファイルの数と各構成ファイルの複雑さの間のトレードオフです。

于 2008-10-14T11:25:42.107 に答える