【发布时间】:2018-01-31 17:54:07
【问题描述】:
我正在尝试通过将war部署到tomcat容器来通过外部配置来配置我的Spring Boot应用程序中的属性。
我的application.properties 文件保存在tomcat_folder/conf/myappname/application.properties
我正在使用此属性文件加载一些 aws 配置和数据库详细信息,例如 spring.datasource.url 等,并希望使这些属性可用于整个应用程序,并且可以像 @Value("${aws.access_key_id}") 一样访问
我还通过添加参数更改了tomcat conf中的Context.xml文件:
<Parameter name="spring.config.location" value="${catalina.base}/conf/myappname/application.properties" />
我的主要应用程序类看起来像:
@SpringBootApplication
public class MyApplication extends SpringBootServletInitializer{
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(MyApplication.class);
}
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
}
构建并部署war到webapps文件夹后,当我启动服务器时,我得到了错误
Caused by: java.io.FileNotFoundException: class path resource [application.properties] cannot be opened because it does not exist
不确定还需要配置什么。
【问题讨论】:
标签: java spring tomcat spring-boot application.properties