4

現時点では、デフォルトだと思いますが、コピーします

target/myproject/WEB-INF/classes

そのため、デプロイ時にコンテキストを取得しません。

また、サーバー固有の構成ファイルdatabase.propertiesを参照したいのですが、それを tomcat/conf に入れてからapplicationContext.xmlで参照したいのですが、どうすればよいですか?

また(2)、これはかなり標準的で適切なセットアップ方法であるという印象を受けています。間違っている場合は訂正してください。

サーバー固有の構成ファイルを編集します これを使用します

<context:property-placeholder 
      location="file:${catalina.home}/conf/database.properties" 
      ignore-unresolvable="true"
 />
4

2 に答える 2

6

applicationContext.xmlクラスパス リソースとして保持する必要がある場合はContextLoaderListener、次の行を に追加して、クラスパスから選択するように構成できweb.xmlます。

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:applicationContext.xml</param-value>
</context-param>

にコピーするように Maven を構成するよりもはるかに簡単ですWEB-INF

2 番目の質問については、ファイル システムからファイルを構成PropertyPlaceholderConfigurerまたは<context:property-placeholder>ロードすることができます。.properties

于 2011-11-17T16:41:00.443 に答える
2

タイトルの質問: 多くの場合、.war maven モジュールでは、Web 関連のリソースを src/main/resources ではなく src/main/webapp の下に配置します。その後、慣習に一致するため、maven プラグインはそれらを自動的に取得します。したがって、applicationContext.xml を src/main/webapp/WEB-INF に移動します。

別のオプションは、ドキュメントで説明されているように webResources を構成することです

2 番目の質問については、 PropertyPlaceHolderConfigurerを見ることができます。パスを正しく取得する必要があります。

于 2011-11-17T16:38:49.437 に答える