Spring 4.x在哪里放置application.properties?

时间:2019-03-27 15:35:31

标签: java spring

我们正在使用使用注释配置的Spring 4.x应用程序:

@Configuration
@ComponentScan(basePackages = {"com.myproject"})
@EnableWebMvc
@PropertySource("classpath:application.properties")
public class AppConfig extends WebMvcConfigurerAdapter {
    ...

现在,当我运行我的应用程序时,它是(很正确,因为文件在应用程序外部)告诉我:

class path resource [application.properties] cannot be opened because it does not exist
    at org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:172)
    at org.springframework.core.io.support.EncodedResource.getInputStream(EncodedResource.java:154)
    at org.springframework.core.io.support.PropertiesLoaderUtils.fillProperties(PropertiesLoaderUtils.java:98)

所以我想将application.properties文件移动到类路径,但是我不知道Spring /这个应用程序是什么。搜索所有我能找到的就是XML配置和/或Spring Boot-我们都没有使用。我们的目录结构不那么老挝,所以没有resources目录-我希望可以将其配置为其他位置。类路径是否有默认位置?否则,如何定义放置/查找此属性文件的位置?

2 个答案:

答案 0 :(得分:0)

 <build>
    <resources>
        <resource>
            <directory>src/wherever/whatever</directory>
        </resource>
    </resources>
 </build>

Maven会很乐意将此目录中的任何内容放入我们构建的类路径中。

答案 1 :(得分:0)

通常将其放在“ src \ main \ resources”目录中。但是,当将其打包到war文件中时,可以通过解压缩war文件来检查它是否在其中。这样,您可以确保在构建过程中插入了属性文件。您应该在“ WEB-INF \ classes”中找到它