为什么类路径默认为WEB-INF / classes /而不是JBoss 5.1中的WEB-INF /?

时间:2010-11-11 09:54:17

标签: java spring classpath jboss5.x

我有一段代码可以使用

获得弹簧上下文
context =  new ClassPathXmlApplicationContext("application-context.xml");

该文件位于WAR的“WEB-INF / application-context.xml”内 在JBoss 4.2.3中,上面的代码工作正常。在JBoss 5.1中,经过实验,似乎希望文件位于“WEB-INF / classes / application-context.xml”中。在将文件移到那里之后就可以了。

我也在google上看到很多关于VFS如何与Spring的类路径混淆的引用......

2 个答案:

答案 0 :(得分:6)

WEB-INF目录本身不应该在类路径上。如果这对JBoss 4.x有效,那么它必须经过专门配置才能完成。

另一方面,

WEB-INF/classes,标准类路径上的。这是文件的正确位置。

JBoss 5.x并没有像你建议的那样搞乱Spring。但是,它确实收紧了JBoss 4.x中存在的一些松散行为,这可能就是一个例子。

答案 1 :(得分:2)

使用课程org.springframework.web.context.support.XmlWebApplicationContext

来自javadoc:“默认情况下,配置将取自”/WEB-INF/applicationContext.xml“的根上下文,[...]”