有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

相对于Jar部署位置的java参考文件

如何引用外部bean。基于其相对于jar文件部署位置的xml文件?这就是我现在所拥有的,但不起作用:

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

我希望它不在类路径中,这样我就可以在不重新部署的情况下进行更改,但是相对于jar的部署位置,这样无论我把jar和bean放在哪里,它都可以工作。文件系统中的xml,只要它们之间的相对位置正确

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

谢谢


共 (2) 个答案

  1. # 1 楼答案

    您可以在^{中导入外部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
    

    有关加载外部配置文件的更多信息,您可以找到here

  2. # 2 楼答案

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

    ApplicationContext context = new FileSystemXmlApplicationContext("../beans.xml");