我正在开发一个独立的 Swing/Spring Boot 应用程序,该应用程序将部署在许多不同的环境中。因此,我需要 Spring 加载外部配置文件,用户将在其中输入数据库凭据。当我用 Netbeans 注释我的配置类并运行它时,一切正常:
@PropertySource("classpath:config.properties")
在这种情况下,文本文件是从 src/main/resources 文件夹中获取的,并且应用程序可以使用凭据来启动。我的问题涉及最终将部署的打包 JAR 文件。由于类路径位于 JAR 内部,因此用户如何能够编辑其内容?
有没有办法让 @PropertySource 指向打包的 JAR 之外,例如使用我完全愿意添加的环境变量作为应用程序工作的要求?
最佳答案
正如这里提到的,您可以使用 yml 来获取外部属性:
Spring boot external configuration of property file
@PropertySource("file:${application_home}config.properties")//或指定yaml文件
关于java - Spring 启动: how to use @PropertySource to point to a text file outside the jar?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48874223/