配置文件在JAR中。如何将配置文件放在JAR之外?

时间:2012-06-11 21:36:31

标签: java spring

当我创建Java Spring应用程序时,spring.xml配置文件通常位于src文件夹中。当我将此应用程序导出为可运行的JAR时,spring.xml文件进入JAR。但我不希望提取jar,只希望在必要时更改spring.xml的内容。

但是由于XML在JAR中,这意味着我在更改spring.xml的内容时正在更改JAR文件。怎么解决这个问题?是否可以在JAR外部使用spring.xml?

1 个答案:

答案 0 :(得分:0)

是的,您可以将spring.xml从JAR中取出,然后您可以通过几种方式从您的应用中引用它,可以使用file:作为资源,也可以使用{{在类路径中引用它1}}。

例如,您可以在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> 代替(假设您只想更改属性)。

否则,如果您的上下文将从根本上改变,您可以将其保留在JAR中,其中版本化更改表示新的二进制文件。