首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring没有在Config子文件夹中查找

Spring没有在Config子文件夹中查找
EN

Stack Overflow用户
提问于 2021-07-03 06:47:27
回答 2查看 888关注 0票数 0

我是Springboot的新手,我在外部化我的属性文件方面遇到了困难。我有多个".properties“文件,保存在子目录"config/”中。我已经从我的项目中删除了上下文占位符,并在执行jar时包含了逗号分隔的属性文件。

例如:爪哇--spring.config.location=file:////config/PROP1.properties,file:///config/PROP2.properties -jar myjar.jar -debug

我有几个问题

  1. 为什么配置目录中的文件即使在显式地提到要查看的位置之后也不被读取?
  2. 我在项目中有自己的依赖项,在jar中打包了相同名称的属性文件。当SpringBoot在执行我的项目jar时试图从config文件夹读取文件,这会产生任何问题吗?

更新

现在,我只保留一个属性文件,假设jar外部的ABC.properties位于同一个目录中。我用的是"ABC“而不是”应用程序“。我正在使用以下命令

Java-Dserver.log.dir=/path/to/log/dir -jar myjar.jar -server.port=9090-Spring.config.name=ABC-pro1=val1

我在我的外部属性文件中覆盖了一个属性,但是在运行应用程序时没有看到使用overriden值。我的新问题是

  1. 命令行有什么问题吗?
  2. 我在xml配置中有下面一行 <上下文:属性-占位符location="ABC.properties“/>。这是否导致检测和使用外部属性的任何类型的问题?
  3. 如果上面的内容为真,并且我必须删除这一行,那么SpringBoot将如何理解从何处导入属性值?
  4. (与问题无关)在给出命令行参数时,我是否需要遵循命令?
EN

回答 2

Stack Overflow用户

发布于 2021-07-03 11:16:59

Spring引导明确指示如何编写此外部配置。参见这里的参考文件:https://docs.spring.io/spring-boot/docs/2.5.2/reference/htmlsingle/#features.external-config.files

基本上,您需要这样指定位置:

  1. --spring.config.location=classpath:/somefolder/somefile.properties
  2. --spring.config.location=file:./somefolder/somefile.properties

从您的命令行来看,您似乎缺少了一个破折号,而且还使用了错误的文件模式格式。

票数 1
EN

Stack Overflow用户

发布于 2021-07-04 16:31:59

Q1:为什么配置目录中的文件即使在显式地提到要查看的位置之后也不被读取?

A1:如果您的配置文件夹位于jar文件旁边,您的命令应该如下所示

  • java -jar myjar.jar --spring.config.location=file:./config/PROP1.properties

同时,您也可以使用完整的路径来锁定配置文件。

Q2:如果我没有显式地将属性文件名作为参数来提出来,那么即使在配置目录中,它们也不会被选中。

A2:不。请参阅这位医生,Spring将尝试从以下四个位置查找配置文件:

  • 当前目录的/config子目录。
  • 当前目录
  • 类路径/config包
  • 类生根

如果spring.config.locationnot set,那么这些名为application.properties的文件夹中的文件将被视为有效的配置文件。可以通过设置属性spring.config.name来更改已接受的文件名。

关于Config文件优先级的Q3

如前面提到的A3中所述,如果相同的名称属性出现在不同的配置文件中,则列表中较高的位置将覆盖较低的项。

另一个提示,最好是删除jar文件中的配置文件,这样您就可以在一个地方(外部化的配置文件夹)获得配置的完整视图;

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68233843

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档