在外部属性文件中定义 Spring Boot 活动配置文件

问题描述 投票:0回答:1

首先,我知道如果我可以设置系统或环境变量,这会容易得多。不幸的是,这不是一个选择,我正在尝试解决这个问题。

我需要在外部化属性文件中定义我的活动配置文件,但这不起作用。这是我所拥有的:

application.properties(在类路径上):

spring.config.location=file:/appname/appname.properties

应用程序名称.属性

spring.profiles.active=dev

应用程序-dev.properties:

(rest of properties, including datasource definition)

不幸的是,应用程序无法部署,并表示当前没有活动的配置文件:

***************************
APPLICATION FAILED TO START
***************************

Description:

Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.

Reason: Failed to determine a suitable driver class


Action:

Consider the following:
        If you want an embedded database (H2, HSQL or Derby), please put it on the classpath.
        If you have database settings to be loaded from a particular profile you may need to activate it (no profiles are currently active).

我再次意识到这不是执行此操作的最佳方法,但设置系统或环境变量是不行的,原因我不想讨论。这是解决这个问题的尝试。

java spring spring-boot
1个回答
0
投票

对我来说,将

spring.config.location
中的
spring.config.import
替换为
application.properties

spring:
  config:
    import: classpath:appname.yaml
© www.soinside.com 2019 - 2024. All rights reserved.