我们正在使用使用注释配置的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
目录-我希望可以将其配置为其他位置。类路径是否有默认位置?否则,如何定义放置/查找此属性文件的位置?
答案 0 :(得分:0)
<build>
<resources>
<resource>
<directory>src/wherever/whatever</directory>
</resource>
</resources>
</build>
Maven会很乐意将此目录中的任何内容放入我们构建的类路径中。
答案 1 :(得分:0)
通常将其放在“ src \ main \ resources”目录中。但是,当将其打包到war文件中时,可以通过解压缩war文件来检查它是否在其中。这样,您可以确保在构建过程中插入了属性文件。您应该在“ WEB-INF \ classes”中找到它