0

如何根据我的 jar 文件部署位置的相对位置引用外部 beans.xml 文件?这就是我现在所拥有的,它不起作用:

ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("../beans.xml");

我希望它脱离类路径,这样我就可以在不重新部署的情况下更改内容,但是相对于 jar 的部署位置,这样无论我将 jar 和 beans.xml 放在文件系统中的哪个位置,它都可以工作,只要它们相对于彼此正确定位。

这是春天顺便说一句,如果有帮助的话。

谢谢!

4

2 回答 2

0

应用程序上下文文件必须位于类路径上才能允许ClassPathXmlApplicationContext工作。要使用相对路径,您必须使用FileSystemXmlApplicationContext.

ApplicationContext context = new FileSystemXmlApplicationContext("../beans.xml");
于 2013-05-22T17:45:30.560 回答
0

spring-config.xml您可以在您可以导入扩展的外部 bean 配置文件

<beans ...>
   <import resource="file:/path/to/external/config.xml"/>
</beans>

上面的 Spring 配置将导入 /path/to/external/config.xml。拥有一个外部文件将允许您配置 bean,而无需重新构建您的主 war/jar。

在您的 Java 代码中,您可以按如下方式加载它:

ApplicationContext context = new ClassPathXmlApplicationContext("config.xml");

config.xml文件应位于:

project-classpath/config.xml

更多关于加载外部配置文件,你可以在 这里找到

于 2013-05-22T17:47:42.297 回答