【问题标题】:Spring - relative path in classpath resourceSpring - 类路径资源中的相对路径
【发布时间】:2011-12-15 12:52:31
【问题描述】:

我想知道是否(以及如何)我可以在 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),但人们只是建议我已经在做的事情(以及现在不起作用的事情)。

【问题讨论】:

    标签: java spring path resources relative-path


    【解决方案1】:

    有一个类似的问题 (Relative paths in spring classpath resource),但人们只是在建议我已经在做的事情(以及现在不起作用的事情)。

    这是错误的:人们回答的路径是相对于类路径根目录,而不是相对于 xml 的位置! (*你应该注意到“Relative paths in spring classpath resource”中的例子是一个maven项目,所以文件夹资源变成了classpath根)

    因此,如果您想使用相同的技术,那么导入将是(使用org/me):

    <import resource="classpath:org/me/app1/app1Context.xml"/>
    <import resource="classpath:org/me/app2/app2Context.xml"/>
    

    【讨论】:

      猜你喜欢
      • 2010-12-08
      • 1970-01-01
      • 1970-01-01
      • 2016-09-10
      • 1970-01-01
      • 2015-11-09
      • 2016-06-15
      • 1970-01-01
      • 2013-01-06
      相关资源
      最近更新 更多