【问题标题】:Where to put Context.xml in a WAR file?将 Context.xml 放在 WAR 文件的什么位置?
【发布时间】:2012-11-25 01:26:29
【问题描述】:

我正在将一个在 tomcat 中运行的应用程序移植到 Jboss,在那里它将被部署为 .WAR 文件。我有一行代码用于查找配置 .xml 文件:

appContext = new ClassPathXmlApplicationContext("cmdAppContext.xml"); 

现在我尝试将它放在 WEB-INF/classes 中(在与 eclipse 生成的 .WAR 文件比较之后),并且还尝试了 WEB-INF 文件夹,因为它在 web.xml 中的那个位置被引用。但是每次我得到一个 NullPointerException。我在这里错过了什么吗?

请注意:我已经在论坛中看到了类似的问题,但没有解决

【问题讨论】:

  • 你是如何生成 WAR 的?您是否确保创建战争后该文件仍然存在?通过将文件放在类文件夹中,我怀疑它在构建过程中会被清理,因为那是一个输出文件夹?
  • 谢谢。我正在使用 Ant 构建。我明确添加了文件,我可以在 .WAR 文件中看到它,所以文件肯定在那里。

标签: java xml spring jakarta-ee web-applications


【解决方案1】:

从源代码中查看context.xml 不是一个好主意。您应该使用.properties 文件来配置您的应用程序。 .WAR 就像一个 .ZIP 文件,其中包含所有站点文件,因此 META-INF 位于 .WAR 的根文件夹中。

【讨论】:

  • 感谢您的回复。在这种情况下,我遵循以下结构 META-INF\ WEB-INF\ classes\Servlet.class lib*.jar web.xml + cmdAppContext.xml
猜你喜欢
  • 2023-03-09
  • 2013-12-26
  • 2013-12-26
  • 2011-05-06
  • 2010-09-16
  • 1970-01-01
  • 2022-01-15
  • 1970-01-01
相关资源
最近更新 更多