Springboot应用程序无法从外部文件夹(@PropertySource)

时间:2016-05-24 12:23:12

标签: maven tomcat spring-boot yaml spring-tool-suite

我正在尝试编写一个 spring boot 应用程序(用于 tomcat ),该应用程序有一个 application.yml 文件供配置。

我的目标是从资源中搜索此yml文件 FIRST,如果不存在,则从tomcat的conf文件夹中第二次

我的代码无效:

@SpringBootApplication
@ComponentScan(basePackages = "com.my.app")
@EnableConfigurationProperties
@PropertySource(ignoreResourceNotFound=true,value={"classpath:application.yml","file:${catalina.base}/conf/application.yml"})
public class MyApplication extends SpringBootServletInitializer {
...
}

我想要这个,因为如果我在Eclipse上工作,并希望使用Eclipse中的Tomcat服务器。在这种情况下,我想使用资源文件夹。但是,如果我构建了战争,那么我使用maven war插件跳过yml文件,手动将其部署到Tomcat ,我想使用tomcat的文件夹。

  • 如果我将yml文件留在项目的资源文件夹中,就可以了
  • 如果我从资源中删除yml文件,并放置到$ {catalina.base} / conf文件夹(这是eclipse的嵌入式tomcat,我知道),它不起作用
  • 如果我删除@PropertySource注释,并将yml文件保留在资源中,可以

因此,即使我添加或删除@PropertySource注释,我的应用仅适用于资源文件夹中的yml文件。

我应该如何设置首次搜索资源文件夹,如果没有yml文件,则搜索第二个选项,即tomcat文件夹?

0 个答案:

没有答案