一尘不染

在Tomcat服务器上的Eclipse中执行Spring Web项目时出现问题

tomcat

我有一个使用Maven进行编译/构建的Spring Web项目。
建立项目没有问题。我正在尝试
在Tomcat(v6)服务器上的Eclipse (3.3.2)中运行该项目。

作为Spring项目的一部分,我在WEB-INF
目录中有一个spring-servlet.xml文件。该文件包括另一个具有数据源
配置的资源xml文件。

<import resource="classpath:${datasourceInclude}.xml"/>

现在,当使用Maven编译项目时,它将解析变量${datasourceInclude}并将其设置为适当的值,从而使spring-servlet.xml具有适当的值。

<import resource="classpath:datasourceLocal.xml"/>

但是,当我尝试在Eclipse(Tomcat)中运行项目时,出现
以下错误:

org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Failed to import bean definitions from URL location [classpath:${datasourceInclude}.xml]
Offending resource: ServletContext resource [/WEB-INF/spring-servlet.xml]; nested exception is org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from class path resource [${datasourceInclude}.xml]; nested exception is java.io.FileNotFoundException: class path resource [${datasourceInclude}.xml] cannot be opened because it does not exist
    at org.springframework.beans.factory.parsing.FailFastProblemReporter.error(FailFastProblemReporter.java:68)
...
...

基本上,当我启动Tomcat时,它会尝试从
具有$ {datasourceInclude}变量的/ src / main / webapp / WEB-INF文件夹中选择spring-servlet.xml 。

谁能告诉我如何解决此问题,以便我不必更改spring-
servlet.xml并添加硬代码值代替$ {datasourceInclude}变量。


阅读 347

收藏
2020-06-16

共1个答案

一尘不染

尝试 在Maven项目配置页面中添加war:inplace到执行的用于资源过滤的目标列表

右键单击您的项目,然后转到“ 属性”>“ Maven”>“生命周期
映射”,然后添加war:inplace到“ 目标”以调用资源更改

2020-06-16