2

当我尝试启动 Spring Web 应用程序时收到以下错误消息:

2012-04-12 13:53:20,491 ERROR [org.springframework.web.servlet.DispatcherServlet] - 

Context initialization failed
org.springframework.beans.factory.BeanInitializationException: Could not load properties; nested exception is java.io.FileNotFoundException: class path resource [timex-servlet.properties] cannot be opened because it does not exist
java.io.FileNotFoundException: class path resource [timex-servlet.properties] cannot be opened because it does not exist
    at org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:137)
    at org.springframework.core.io.support.PropertiesLoaderSupport.loadProperties(PropertiesLoaderSupport.java:172)

我正在通过 Eclipse 运行 Tomcat(版本 6.x)。我尝试将 timex-servlet.properties 放在以下目录中,但无济于事:

WebContent\WEB-INF
WebContent\WEB-INF\classes
WebContent\

下面是 timex-servlet.xml 中对 timex-servlet.properties 的引用:

    <bean id="placeholderConfig"
    class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="location"
        value="timex-servlet.properties" />
</bean>

有几个 SO 线程处理相同的消息,说要放置一个类路径:在属性文件引用的前面。所以我尝试了以下方法,但也没有用:

        <bean id="placeholderConfig"
    class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="location"
        value="classpath:timex-servlet.properties" />
</bean>
4

6 回答 6

13

确保将文件放在/WEB-INF/classes文件夹中并使用classpath:/timex-servlet.properties(注意类路径后的斜杠:)

于 2012-04-12T21:50:12.943 回答
3

如果您不想将其移动到类下并希望将属性文件保留在 WEB-INF/ 下,请尝试以下类路径:../file.properties

于 2013-03-24T13:40:28.370 回答
1

不应将您的属性文件放在定义源代码和主要方法的同一位置。它应该放在您的配置文件所在的同一位置(applicationContext.xml)。

在我的情况下,我的属性文件名是 sport.properties(文件的扩展名应该是 .properties)并为项目使用 maven -

  1. 属性文件的位置-> src->test->java->sport.properties

属性文件位置

于 2019-06-30T14:24:59.160 回答
0

对于 Spring 项目,将文件放在 src 或 src->somefolder->some.properties 文件下。

于 2016-11-25T04:34:34.427 回答
0

就我而言,我的 pom.xml 中缺少一个 cargo-maven2-plugin。可能会帮助陷入困境的人。

于 2018-04-18T11:09:01.610 回答
0

只是在这里描述我的情况,也许它会对某人有所帮助:) 使用纯 Java 配置(无 XML)的 Maven 和 Spring MVC。这是我解决问题的步骤:

1)将您的属性文件放在src/main/resources文件夹中(如果没有,则手动创建最后一个)。

仔细检查一下,认真的!如果你和我有同样的注意力,那可能是个问题:)

2) 在你的 Java 配置类中添加以下注解: @PropertySource("classpath:nameOfYourFile.properties")

3) 更新你的 Maven 项目(在 Eclipse 中:右键单击项目 -> Maven ->更新项目)。

当然,还要检查您的文件名称是否与注释中的名称匹配。
如果您的项目还有其他问题,那么它应该可以工作。

于 2018-11-29T19:12:08.943 回答