【问题标题】:ClassPathXmlApplicationContext reading file outside of JARClassPathXmlApplicationContext 读取 JAR 之外的文件
【发布时间】:2012-01-25 21:06:21
【问题描述】:

我的代码使用以下代码实例化了一个 spring 实例:

String filePath = "applicationContext.xml";
ApplicationContext context = new ClassPathXmlApplicationContext(filePath);

如果我将一个名为“applicationContext.xml”的文件放在我的 WEB-INF/lib 文件夹中的 jar 的根目录中,这将有效。但是,我希望在我的 WEB-INF/classes 文件夹中有一个名为“applicationContext.xml”的文件。我已经为 filePath 尝试了以下值,它们都生成了 FileNotFoundException:

applicationContext.xml
/webappName/WEB-INF/classes/applicationContext.xml
/WEB-INF/classes/applicationContext.xml
classes/applicationContext.xml

这些都没有奏效。使用 ClassPathXmlApplicationContext 从 WEB-INF/classes 文件夹中读取 xml 文件的正确语法是什么?

【问题讨论】:

  • WEB-INF/classes 在你程序的类路径中吗? ClassPathXmlApplicationContext 只能从类路径中读取文件。
  • 试试/applicationContext.xml
  • 你在哪里实例化你的 spring 上下文?在自定义ServletContextListener 内? /WEB-INF/classes 应该在 webapp 部署的类路径上,必须进行其他操作。需要更多详细信息。
  • @nico_ekito - 我重新测试过,这似乎有效。
  • @nico_ekito:您应该将其发布为答案,并为此获得荣誉。

标签: java spring classpath


【解决方案1】:

如下所述,您应该尝试/applicationContext.xml

【讨论】:

    【解决方案2】:

    使用 FileSystemXmlApplicationContext

    【讨论】:

      猜你喜欢
      • 2019-04-23
      • 1970-01-01
      • 2013-01-07
      • 1970-01-01
      • 2012-02-05
      • 2012-10-28
      • 2015-12-23
      • 2014-06-05
      • 2016-11-29
      相关资源
      最近更新 更多