当前位置: 首页 > 知识库问答 >
问题:

Spring Boot外部配置

毋玺
2023-03-14
java -jar my-boot-ws.war --SPRING_CONFIG_NAME=file:///Users/TMP/resources/

基于此http://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html文档,但我得到以下错误:

Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder

使用注释工作很好,但我真的希望远离它。这方面的任何帮助都是很好的

谢谢

java -jar my-boot-ws.war --spring.config.location=file:///Users/TMP/resources/

我将此解释为文件${spring.application.name}.properties将从命令行传入的--spring.config.location加载

共有1个答案

孟征
2023-03-14

经过更多的搜索,我找到了这个Spring Boot和多个外部配置文件,表明以下是正确的用法:

java -jar my-boot-ws.war --spring.config.location=file:///Users/TMP/resources/myFile.properties

我的印象是--spring.config.location将加载指定目录中的其他属性文件。根据我提到的链接处的帖子,情况并非如此。根据链接,如果指定了目录,则在该目录中搜索application.properties。但是这里的文档http://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html似乎暗示了spring boot应用程序将首先查看类路径,如果可用,则获取应用程序名称以获得基于该名称的其他属性文件。

然而,一旦我指定了一个文件名,所有的工作都很好,所以我想我错了。

 类似资料:
  • 在springboot应用程序中,我有一个jar,然后是一个子目录config with application。属性,applicationContext。xml和log4j。。。属性文件。 我正在尝试外部化log4j配置。application.properties是这样外部化的。 但是,当springboot运行时,它使用jar文件中的log4j配置文件。通过使用-Dlog4j.debug选

  • 我有一个启动应用程序,部署到一个外部tomcat服务器,一切工作在我的本地与本地数据库。现在,我必须将代码推广到数据库配置不同的更高环境。我读了很多关于配置文件的etc...,但是当它是一个外部tomcat并且不使用

  • 本文向大家介绍SpringBoot内部外部配置文件加载顺序解析,包括了SpringBoot内部外部配置文件加载顺序解析的使用技巧和注意事项,需要的朋友参考一下 内部配置加载顺序 SpringBoot 启动会扫描以下位置的application.properties或者application.yml文件作为Spring boot的默认配置文件 –file:./config/ –file:./ –cl

  • 我有一个带有spring boot的java项目,我需要加载应用程序。外部文件夹中的属性和依赖项jar。 我使用该应用程序进行了测试。类路径和加载程序中的属性。路径属性工作正常。 当我使用外部属性文件(我确信它们已被使用)时,加载程序。路径工作不正常,结果为ClassNotFound,因为JAR未加载。 此外,当我启动应用程序与**-Dloader.path=**xxx它的工作正常。 如何使用外部

  • Netflix客户端配置库Archaius 它是所有Netflix OSS组件用于配置的库。Archaius是Apache Commons Configuration项目的扩展。它允许通过轮询源进行更改或将源更改推送到客户端来进行配置更新。Archaius使用Dynamic <Type> Property类作为属性的句柄。Archaius示例 class ArchaiusTest { Dyna

  • Spring Boot允许您外部化配置,以便您可以在不同的环境中使用相同的应用程序代码。 您可以使用属性文件,YAML文件,环境变量和命令行参数来外部化配置。 可以使用@Value注释将属性值直接注入到bean中,通过Spring的Environment抽象访问,或者通过@ConfigurationProperties绑定到结构化对象。 Spring Boot使用一个非常特殊的PropertySo