Spring不能在Tomcat类路径中找到属性文件。

问题描述:

我有Spring配置查找一个conf/database.properties文件加载一些配置。 这在Tomcat之外运行良好,并且在Junit测试中,但在Tomcat中,它永远不会加载。在这个问题的图像下面。Spring不能在Tomcat类路径中找到属性文件。

配置:

Configuration 1兼:

Configuration 2

属性文件的项目文件夹中:

The file in folder

的参数在Eclipse中运行Tomcat: The run parameters

的TEMP0 Tomcat的文件夹,其中正在生成的所有文件确定: Generated application in tomcat temp0 folder

Tomcat的错误日志:

https://gist.github.com/4060538 
+0

不知道你为什么在属性占位符配置中使用* - 当然你希望只有一个database.properties。如果您删除'*',是否会收到'无法加载资源'错误? – samlewis

+0

我尝试了很多不同的方式。删除它发生相同的错误。 –

+0

更多信息:我的spring.xml文件位于jar库中。 Web应用程序项目包含database.properties文件,该文件将由Classpath中需要此配置的其他库引用。这个架构不是问题吗?春天应该加载的权利? –

我解决了这个问题。我想我以错误的方式使用了春天。

我改变如下:

  • 在我输入/引用库,我删除了行,其中被导入database.properties文件。
  • 我在我的主Web应用程序中创建了一个spring.xml文件,在这个文件中,我导入了database.properties文件和其他需要引用的app-context.xml文件。

我觉得春天的春天不要加载罐子外的属性文件。您需要在您的主应用程序中本地加载属性文件,因此,需要引用另一个spring-context.xml文件。