当我创建Java Spring应用程序时,spring.xml配置文件通常位于src文件夹中。当我将此应用程序导出为可运行的JAR时,spring.xml文件进入JAR。但我不希望提取jar,只希望在必要时更改spring.xml的内容。
但是由于XML在JAR中,这意味着我在更改spring.xml的内容时正在更改JAR文件。怎么解决这个问题?是否可以在JAR外部使用spring.xml?
答案 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中,其中版本化更改表示新的二进制文件。