Spring - внедрить application.properties в jar (как зависимость Maven) - PullRequest
0 голосов
/ 03 марта 2019

Я хочу получить доступ к своему файлу application.properties из банки, которую я создал и включил в мой pom.

Итак, в родительском проекте -

<dependency>
    <groupId>some.group.name</groupId>
    <artifactId>some-jar-name</artifactId>
    <version>0.0.1-SNAPSHOT</version>
</dependency>

А внутри банки у меня естькласс, которому нужны значения из родительского файла application.properties.

Я уже пытался использовать spring.profiles.active, задав spring.profiles.active=test и напечатав аргументы JVM, но значения не были введены.

Внутри банки-

public class PropertiesRepository  {
    //get application.properties
    public PropertiesRepository(String appName, String instance) {
        RuntimeMXBean runtimeMxBean = ManagementFactory.getRuntimeMXBean();
        List<String> arguments = runtimeMxBean.getInputArguments();

        for (Iterator iterator = arguments.iterator(); iterator.hasNext();) {
            String param = (String) iterator.next();
            System.out.println("Runtime arg=" + param);
        }
    }

}

1 Ответ

0 голосов
/ 03 марта 2019

Поскольку ваш файл будет находиться по classpath , используйте @Configuration класс с @PropertySource.

@Configuration
@PropertySource("classpath:your-file-name.properties")
public class PropertiesConfiguration { }

Если ваше имя файла стандартное application.properties, выдаже не нужно этого делать, он будет выбран автоматически, и вы сможете получить к ним доступ через

@Value("${your-property}")

или

Environment#getProperty("your-property")

, если вы находитесь наSpring Boot, все должно работать без проблем с вашей текущей конфигурацией зависимостей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...