1

Java Spring アプリケーションを作成すると、通常、spring.xml 構成ファイルは src フォルダーにあります。このアプリケーションを実行可能な JAR としてエクスポートすると、spring.xml ファイルが JAR 内に入ります。しかし、jar を抽出したくはなく、必要に応じて spring.xml の内容を変更したいだけです。

しかし、XML は JAR 内にあるため、spring.xml の内容を変更すると JAR ファイルが変更されることになります。これを回避する方法は?spring.xml を JAR の外に置くことは可能ですか?

4

1 に答える 1

0

はい、spring.xmlJAR から を取り出して、いくつかの方法でアプリから参照できます。使用するリソースとして、file:または使用するクラスパスで参照できますclasspath:

たとえば、次のweb.xmlことができるようになりました。

<!-- if spring.xml is on the classpath -->
<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath*:spring.xml</param-value>
</context-param>

...また:

<!-- if spring.xml is at a known location -->
<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>file:/tmp/spring.xml</param-value>
</context-param>

アップデート

私はあなたの質問に答えていますが、PropertyPlaceholderConfigurer代わりに a を使用することをお勧めします (プロパティのみを変更したい場合)。

それ以外の場合、コンテキストが根本的に変更される場合は、バージョン管理された変更が新しいバイナリを示す JAR に保持することもできます。

于 2012-06-11T21:43:46.457 に答える