我试图通过将war部署到tomcat容器来通过外部配置来配置我的Spring Boot应用程序中的属性。
我的application.properties
文件保存在tomcat_folder/conf/myappname/application.properties
我正在使用此属性文件来加载一些 aws 配置和数据库详细信息spring.datasource.url
等,并希望使这些属性可用于整个应用程序并且可以像访问@Value("${aws.access_key_id}")
我还通过添加参数更改了Context.xml
tomcat 中的文件:conf
<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);
}
}
在构建并将战争部署到webapps
文件夹后,当我启动服务器时,出现错误
Caused by: java.io.FileNotFoundException: class path resource [application.properties] cannot be opened because it does not exist
不知道还有什么要配置的。