2012-03-01 3 views
4

Просто начинайте изучать scala для нового проекта. Дошли до того, что я хотел бы определить разные файлы свойств для разных сред, в которых приложение будет работать, в идеале аналогично Rails - очень легкий, всего один файл свойств для каждой среды, загружаемый на основе его имя. Мне все равно, если это файл свойств java, YML или scala-код.Файлы свойств окружающей среды в проекте scala

В духе не изобретать колесо, я искал, есть ли какой-то признанный стандарт Scala для этого, но я не могу его найти, я нашел несколько похожих, но не одинаковых вопросов здесь где люди предлагают использовать системные свойства в сценарии запуска, но похоже, что это станет кошмаром.

Я мог бы реализовать его, если нужно, но чувствует себя как вещь, которая уже должна существовать. Итак - не так ли?

Я использую sbt, если это имеет значение.

ответ

5

Я знаю Configgy. Кроме того, Akka/Play 2.0 будет использовать Config, что тоже выглядит хорошо. См. blog о последнем.

В принципе, Configgy используется какое-то время, но устарел, а Config будет абсолютно новым. Тем не менее, наличие Config в качестве стандартного инструмента настройки Typesafe Stack, вероятно, сделает его предпочтительным инструментом для этого довольно быстро.

+0

Я посмотрел на Configgy, который, как представляется, были заменены на страуса, который кажется очень тяжеловесных за то, что я хочу, а также сосредоточенной вокруг серверов. Теперь посмотрим на Config, спасибо. – Russell

+3

Configafe Config - это лучший Config lib, который я использовал до сих пор, и ранее мы использовали Configgy. –

+0

Я решил пойти с Config, это выглядит хорошо. Благодаря! – Russell

2

Я написал замену Configgy под названием Configrity. Он может использовать разные входные форматы (например, YAML), он неизменен, поддерживает функциональные шаблоны и использует класс типа для автоматического преобразования значений в желаемый тип.

+0

Вы должны добавить его в вики-инструменты scala tools & libraries. –

+0

@ DanielC.Sobral: кто-то это сделал. Он был заполнен в другом разделе. – paradigmatic

+2

Да, похоже, нет раздела «config». Однако должно быть. –

0

Я написал BeeConfig, заменив java.util.Properties, за исключением того, что это Scala API и использует файлы конфигурации с кодировкой UTF. Он поддерживает строчную интерполяцию, цепочку и множество других функций. Но его главная цель - простота.

Bitbucket | Blog post

Рик

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