我想知道是否(以及如何)我可以在spring中使用相对类路径资源路径。我遵循了应用程序结构:
src/
org/me/
mainContext.xml
app1/
app1Context.xml
app2/
app2Context.xml
comp1/
comp1Context.xml
现在在mainContext.xml
我想通过相对路径导入bean定义:
<import resource="classpath:app1/app1Context.xml"/>
<import resource="classpath:app2/app2Context.xml"/>
和app2Context.xml
中的类似内容:
<import resource="classpath:comp1/comp1Context.xml"/>
(org.me.app2
代码位于不同的jar(WEB-INF/lib/app2.jar
))。
但是目前我收到了FileNotFoundException异常:
java.io.FileNotFoundException: class path resource [app1/app1Context.xml] cannot be opened because it does not exist
我可以使用这样的相对路径吗?怎么样?解析了相对类路径路径到哪条路径?
有一个类似的问题(Relative paths in spring classpath resource),但人们只是在暗示我现在在做什么(现在什么都不行)。
感谢您的帮助。
答案 0 :(得分:1)
有一个类似的问题(Relative paths in spring classpath resource),但人们只是在暗示我现在在做什么(现在什么都不行)。
这是错误的:人们回答了相对于类路径根的路径,但不是相对于xml的位置! (*您应该注意到“Relative paths in spring classpath resource”中的示例是一个maven项目,因此文件夹资源成为类路径根目录
因此,如果您想使用相同的技术,那么导入将是(使用org/me
):
<import resource="classpath:org/me/app1/app1Context.xml"/>
<import resource="classpath:org/me/app2/app2Context.xml"/>