我有一个spring boot应用程序作为myapp,我有一些我需要外化的配置。它们最初位于main/resource/config
当我运行maven构建时,tar.gz有config文件夹和myapp.jar。 这个myapp.jar有一个BOOT文件夹,它也包含了jar外的config文件夹中的所有文件。现在当我改变配置文件夹的时候。 Springboot仍然从jar内的BOOT文件夹中读取配置文件。如何读取外部配置文件。
答案 0 :(得分:0)
因为你的外部配置文件不在classpath中,所以springboot不会知道这些文件,它会从类路径中搜索文件。
这是externalized config的文件。如果使用外部配置,则需要在运行springboot时设置spring.config.location
,如
java -Dspring.config.location=file:/gfs/config/post/post.properties,/gfs/config/post/post_pwd.properties,./config/db-config.properties,./config/db-passwd.properties -jar myapp-1.0-SNAPSHOT.jar
答案 1 :(得分:0)
java -Dconfig_base_dir = / opt / tomcat / conf / bpm -jar myapp-1.0-SNAPSHOT.jar
@Configuration
@PropertySources({
@PropertySource("file:${config_base_dir}/app.properties"),
@PropertySource("file:${config_base_dir}/dbconfig.properties")
})
public class PostConfig {
更多样品...... Mkyong java
答案 2 :(得分:0)
在我的情况下,我只是在application.yaml中使用了file:config / myconfig.properties,所以不是在jar里查找文件夹配置然后在那里。如果我使用了classpath:/config/myconfig.properties那么它会在jar中捆绑什么