Я не понимаю, как установить местоположение для внешней конфигурации,
на основе https://docs.spring.io/spring-boot/docs/1.2.2.RELEASE/reference/html/boot-features-external-config.html Я выполняю некоторую внешнюю настройку, но не могу. Вот мой код
package com.org.tre.myth.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Profile;
import org.springframework.context.support.PropertySourcesPlaceholderConfigurer;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.FileSystemResource;
import org.springframework.core.io.Resource;
@Configuration
public class ExternalPropertyConfig {
@Bean
public static PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() {
final PropertySourcesPlaceholderConfigurer properties = new PropertySourcesPlaceholderConfigurer();
Resource[] resources = new Resource[ ] {
new ClassPathResource("/myth/app/data/weblogic_configuration/config/conf.properties"), // i want this config used when i deploy it in dev
new FileSystemResource("src/main/resources/conf.properties") // i want this config used when in local test
};
properties.setLocations( resources );
properties.setIgnoreResourceNotFound(true);
properties.setIgnoreUnresolvablePlaceholders(false);
return properties;
}
}
он всегда работает на FileSystemResource, когда я развертываю, он не хочет автоматически читать из ClassPathResource, когда на dev. Моя конфигурация на самом деле имеет тот же контент (dev & test), разница только в каталоге, потому что мой разработчик выполняет несколько слоев, и я хочу, чтобы конфигурация запускалась автоматически, даже не создавая профиль для spring.
Мне очень жаль
ОБНОВЛЕНИЕ
Я использую это
Resource[] resources = new Resource[ ] {
new FileSystemResource("/myth/app/data/weblogic_configuration/config/conf.properties"),
new FileSystemResource("src/main/resources/conf.properties")
};