Как предоставить ресурсы внешней конфигурации (свойства базы данных и файлы XML) для пути к классам в Spring Boot linux - PullRequest
0 голосов
/ 27 июня 2019

Я столкнулся с проблемой внешних файлов конфигурации для пути к классам при весенней загрузке, но он не выбирает application.properties, свойства application-dev из внешней папки конфигурации . Он выбирает свойства базы данных и XML-файлы из внешней папки конфигурации. Я попробовал следующие подходы, не могли бы вы помочь мне решить эту проблему.

java -cp ./config/;./lib/ips--0.0.1-SNAPSHOT.jar java -cp ./config/;./lib/ips-rest-0.0.1-SNAPSHOT.jar java -jar ./lib/ips-rest-0.0.1-SNAPSHOT.jar --spring.config.location = путь к классу: / config /, файл: ./ config /, путь к классу: /, файл: ./

@ImportResource("classpath:ips-spring.xml")
@SpringBootApplication(exclude = { KafkaAutoConfiguration.class })
@ComponentScan(value = "com.mark", useDefaultFilters = false)
@EnableAutoConfiguration
@EnableConfigurationProperties
public class ApplicationRest {
    public static void main(String[] args) {
        System.setProperty("spring.devtools.restart.enabled", "false");
        SpringApplication.run(ApplicationRest.class, args);
        System.out.println("Started ApplicationRest");
    }
}

<context:property-placeholder location="classpath:env.properties,classpath:db.properties" ignore-resource-not-found="false" ignore-unresolvable="false" />
<import resource="classpath:app-entity.xml" />

1 Ответ

1 голос
/ 27 июня 2019

Я предполагаю, что под "внешними конфигурациями" вы подразумеваете файлы конфигурации (*.properties, *.yml и т. Д.), Которые не упакованы в артефакт весенней загрузки (Jar в вашем примере)

В этом случае они по определению не включены в classpath заявки.

Итак, перефразируя, вы спрашиваете, как предоставить внешние файлы конфигурации для приложения Spring. Как вы уже узнали, действительно, --spring.config.location - это путь:

--spring.config.location=file:/work/config1.yml,file:/work/config2.yml
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...