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

Spring boot外部应用程序.属性

孔光赫
2023-03-14

我正在开发一个spring boot应用程序

我想用外部文件(例如/etc/projectname/application.properties)重写src/main/resources/application.properties中的某些属性。

我尝试了几种方法:

资源中的“我的应用程序.属性”中的spring.config.location=/etc/projectname/application.properties

我使用spring.port对其进行了测试。第一个方法只添加了属性,但没有重写它们。

共有1个答案

裘光启
2023-03-14

我总是按照文档中的指定在命令行中使用--spring.config.location=,您可以在其中放入各种文件,一个带有默认值,另一个带有重写值。

编辑:
或者,您也可以使用以下内容:

@PropertySources({
    @PropertySource("classpath:default.properties")
    , @PropertySource(value = "file:${external.config}", ignoreResourceNotFound = true)
})

并在application.properties中指定external.config
这将为重写配置提供默认路径,通过在命令行中指定--external.config来重写配置本身。
我将此与${external.config}一起使用,因为它被定义为系统环境变量,但它也应该与application.properties变量一起使用。

 类似资料:
  • 我在src/main/resources下创建了2个文件: 应用程序。属性 第一个具有从env变量中获取值的属性,而后者具有固定值。 根据这里的具体情况,我以这样的方式推出了Spring靴: 然而,不会产生任何影响,并且应用程序是局部的。属性似乎被忽略。 有什么提示吗?

  • 完成干净的构建后,我将war文件复制到Tomcat的文件夹中。但是部署会发生两次,并且在上下文已经存在的情况下以异常结束。我错过了什么? 非常感谢您的帮助。

  • 问题内容: 我有一个Spring应用程序,到目前为止运行良好。现在,我希望属性文件位于外部配置文件夹中,而不是在打包的jar中,而无需重新打包即可更改内容。这就是我得到的: 问题答案: 如果将其放置在名为spring的目录中的类路径中的某个位置(相应地更改名称/目录),则可以使用 这将指向web-inf / classes / config / springcontext.properties

  • 我正在寻找解决这个问题的方法。 我有几个属性文件(application.properties、application realdb.properties)。假设我从“realdb”spring概要文件开始。现在,我想在部署到tomcat上时重写我的属性。我决定将文件放在/lib文件夹中,因为它自动位于类路径上,我没有找到更好的(即特定于应用程序的类路径文件夹) 所以我可以在那里申请。属性,只要我

  • 我正在将一个非常基本的web应用程序部署到Google应用程序引擎。我使用的是Springboot,我可以在本地很好地运行应用程序,但当我部署到Google时,应用程序引擎不会启动实例。我在启动时配置了一个云SQL数据源。 我有云sql配置属性配置src/main/Resources/application.properties.App Engine似乎找不到这些属性,所以它无法正确设置Cloud

  • 在我的SpringBootWeb服务应用程序中,我想加载一个名为appName的属性,该属性的值在application.properties中定义。 application.properties具有以下条目 我通过主应用程序类启动应用程序,如下所示 但是,当我运行应用程序时,我得到以下错误 原因:java.lang.IllegalArgumentException:无法解析字符串值“${appN