2016-05-19 4 views
0

Мне было интересно, есть ли способ использовать такой файл, как spring-boot application.yaml из приложения Java Standalone, я ищу аналогичный подход к каламбуре по его свойствам среды (например, конечные точки URL-адреса разработчика, QA, производство)Spring-boot application.yaml в Java Standalone App

Я использую Gradle в качестве сборки инструмента

+1

Что вы имеете в виду с автономным приложением? Не-веб-приложение или приложение Java, которое не использует весеннюю загрузку или ???? –

+0

Ой, извините, я имею в виду простое консольное приложение java, ни веб-приложение, ни весеннюю загрузку, а просто консольное приложение Java с основным методом. –

+0

Определить консольное приложение с весной или без нее? –

ответ

0

Я решил это сам :) решение создавал свою собственную задачу на Gradle. Вот шаги, которые я следую:

  1. Внутри SRC/основные/ресурсы, которые я создал столько файлов, сколько мне нужно:

    • конфиг-dev.yaml
    • конфиг-qa.yaml
    • конфиг-prod.yaml
  2. Я добавил задачи Gradle выбрать соответствующий файл:

    task loadConfigFile(type: Copy) { 
    def environments = ['dev', 'preprod', 'prod'] 
    def environment = 'dev'; 
    if (project.hasProperty('env')) { 
        def validParam = environments.contains(env) 
        if (validParam) { 
         environment = env 
        } 
    } 
    def configFile = "configuration-${environment}.yaml" 
    
    from('src/main/resources/') 
    into('src/main/resources/') 
    include(configFile) 
    rename(configFile, 'application.yaml') 
    

    }

  3. Перед тем, как построить проект я назвал функцию с помощью doFirst:

    build.doFirst { 
        loadConfigFile() 
    } 
    
  4. Для отделки следует назвать задачу сборки с помощью пользовательской переменной с именем ENV:

    ../gradlew build -Penv=preproda 
    

В результате src/main/resources У меня есть файл конфигурации с именем application.yaml и с помощью snakeyaml Я читаю записи конфигурации, вот демонстрация об использовании snakeyaml http://enriquezrene.com/home/index.php/en/groovy-english/groovy-for-java-developers/57-reading-yaml-files-from-groovy

Смежные вопросы