在spring boot中外部化属性文件

时间:2015-07-08 18:58:09

标签: java spring spring-boot

我正在尝试外化项目的属性文件。

运行步骤:

  1. 创建了一个没有属性文件的jar文件。
  2. 从命令提示符运行这些脚本文件。
  3. java -jar read-apis.jar --spring.config.location=classpath:..\config\application.properties,classpath:..\config\sql-config.properties,classpath:..\config\error-config.properties,classpath:..\config\messgae-config.properties,classpath:..\config\validation-config.properties
    

    OR

    java -cp ..\config\application.properties, -cp ..\config\sql-config.properties, -cp ..\config\error-config.properties, -cp ..\config\messgae-config.properties, -cp ..\config\validation-config.properties -jar read-apis.jar
    

    它不适合我,请帮助我。

2 个答案:

答案 0 :(得分:0)

我根据Spring Boot documentation here和我自己的经验提供信息。据我所知,你在../config有一个配置目录。你可以:

  • 将config目录放在运行应用程序的位置。如果config目录位于。而不是......它将在没有任何附加参数的情况下被拾取。
  • 或者把它留在那里并使用类似于你的第一个表格的东西:“spring.config.location = file:.. \ config \ application.properties”。因为它不在jar中,所以你需要使用“file”而不是“classpath”。

尝试一下,看看它是否有效。看起来您正在尝试将多个文件放入搜索列表中。它可能有效,但我不确定。如果是这种情况,那么上面的第一个项目符号可能不起作用,因为在config目录中只搜索application.properties。您总是可以使用config属性添加其他文件,因为它看起来总是使用默认路径。

答案 1 :(得分:0)

java -Dspring.config.location = application.properties,sql-config.properties,error-config.properties -jar read-api.jar

这对我有用。