我們在項目中使用了Spring框架。我加載從web.xml中applicationContext
文件以下列方式:彈簧容器在加載多個彈簧配置文件時看到錯誤路徑
<servlet>
<servlet-name>SpringDispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/CustomerService/applicationContext.xml</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>SpringDispatcherServlet</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
我試圖加載一個配置文件JobDesigner-springintegration.xml
的applicationContext
文件中按以下方式:
<import resource="JobDesigner-springintegration.xml"/>
現在,我試圖加載幾個更多的配置文件裏面
`JobDesigner-springintegration.xml` file in the following manner:
<import resource="*.xml"/>
但奇怪的是春季容器正在尋找一個錯誤的路徑東西如下圖所示: jndi:/localhost/cciupg/WEB-INF/CustomerService/
日誌摘錄如下:
12:52:15,202 INFO [STDOUT] 12:52:15,202 INFO [XmlBeanDefinitionReader] Loading XML bean definitions from ServletContext resource [/WEB-INF/CustomerService/JobDesigner-springintegration.xml]
12:52:15,453 INFO [STDOUT] 12:52:15,448 WARN [PathMatchingResourcePatternResolver] Cannot search for matching files underneath URL [jndi:/localhost/cciupg/WEB-INF/CustomerService/] because it does not correspond to a directory in the file system
java.io.FileNotFoundException: URL [jndi:/localhost/cciupg/WEB-INF/CustomerService/] cannot be resolved to absolute file path because it does not reside in the file system: jndi:/localhost/cciupg/WEB-INF/CustomerService/
at org.springframework.util.ResourceUtils.getFile(ResourceUtils.java:205)
at org.springframework.core.io.AbstractFileResolvingResource.getFile(AbstractFileResolvingResource.java:52)
at org.springframework.core.io.UrlResource.getFile(UrlResource.java:169)
at org.springframework.core.io.support.PathMatchingResourcePatternResolver.doFindPathMatchingFileResources(PathMatchingResourcePatternResolver.java:526)
at org.springframework.web.context.support.ServletContextResourcePatternResolver.doFindPathMatchingFileResources(ServletContextResourcePatternResolver.java:92)
at org.springframework.core.io.support.PathMatchingResourcePatternResolver.findPathMatchingResources(PathMatchingResourcePatternResolver.java:347)
at org.springframework.core.io.support.PathMatchingResourcePatternResolver.getResources(PathMatchingResourcePatternResolver.java:279)
at org.springframework.context.support.AbstractApplicationContext.getResources(AbstractApplicationContext.java:1269)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:208)
at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.importBeanDefinitionResource(DefaultBeanDefinitionDocumentReader.java:261)
at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseDefaultElement(DefaultBeanDefinitionDocumentReader.java:197)
at org.springframework.beans.factory.xml.DefaultBeanDe
這裏的問題是,爲什麼Spring容器是看錯誤的道路jndi:/localhost/cciupg/WEB-INF/CustomerService/
代替/WEB-INF/CustomerService/
?
而奇怪的部分是爲什麼它追加jndi:/localhost/cciupg
到路徑?