Nano Hash - криптовалюты, майнинг, программирование

Платформа воспроизведения, переопределяющая значения `application.conf` в зависимости от среды

Играть в 2.6.x Скала

У меня есть значение по умолчанию application.conf в папке {project}/conf/, но я хотел бы переопределить некоторые значения в зависимости от среды, передав соответствующий файл в качестве аргументов командной строки (как подробно описано в документации):

sbt run -Dconfig.file=/conf/qa.conf or sbt run -Dconfig.resource=qa.conf

Но я не могу запустить игру, чтобы подобрать переопределения. Вот мой каталог файлов:

application  
    |- playApp1
    |- playApp2  
       |-- conf  
           |-- application.conf 
           |-- qa.conf

Мой build.sbt делает playApp2 проектом по умолчанию при загрузке. И я подтвердил, что дефулат application.conf работает, а переопределение — нет.

Спасибо за любые идеи!

--

Обновить

Вот файлы HOCON, которые использует игра. application.conf

platform {
  scheme = "http"
  host = "localhost:8080"
}

и переопределения, как указано в qa.conf

include "application.conf"

platform {
  scheme = "https"
  host = "ea311.34.com"
}
28.12.2017

  • Пожалуйста, покажите application.conf 28.12.2017

Ответы:


1

Ваш вопрос касается HOCON, если вы этого не поняли.

Не видя вашего application.conf, я могу дать только общий ответ. Вот пример предоставления значения по умолчанию для akka.log-config-on-start, которое будет переопределено системным свойством Java или переменной среды с именем CONFIG_DUMP, если она определена:

akka {
  log-config-on-start = false
  log-config-on-start = ${?CONFIG_DUMP}
}

Эта функция HOCON задокументирована здесь.

28.12.2017
  • Ах, очень круто - я не смотрел на HOCON. нравится название Human-Optimized Config Object Notation. Я разместил конфиг моего приложения выше, если вы хотите увидеть. Я также изучаю ссылку, которую вы разместили, спасибо! 28.12.2017
  • Пожалуйста, установите флажок рядом с вашим вопросом, чтобы принять этот ответ, спасибо 28.12.2017

  • 2

    Это работает, если вы сначала предоставите аргумент командной строки

    sbt -Dconfig.resource=qa.conf run
    
    28.12.2017
  • это работает для меня, но с игрой и guice привязки не работают, когда я использую альтернативный ресурс конфигурации... так странно 16.04.2018
  • @nbpeth вы определяете свои модули в новом config.resource? если, например, у вас есть application.conf с ключом play.modules.enabled -- вам придется импортировать application.conf с import "application", чтобы убедиться, что модули включены в новом ресурсе 14.07.2018
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..