Я пытаюсь использовать стратификацию как конфигурационную библиотеку в своем новом приложении (ранее у меня был положительный опыт использования ее для статистики времени выполнения). Но я не могу заставить его работать, используя фрагмент кода из readme.Ostrich не может скомпилировать конфигурационный файл
Вот мой код:
class Boot {
val bootLogger = LoggerFactory.getLogger(this.getClass)//slf4j
val confPath = Option(System.getenv("CONF_FILE"))
//living inside akka-kernel, so there is no access to real args
val args: Array[String] = confPath match {
case Some(path) => Array("-f", path)
case None => Array()
}
bootLogger.info(Class.forName("la.myproject.Config").toString)
val runtime = RuntimeEnvironment(this, args)
val server = runtime.loadRuntimeConfig[Server]()
try {
server.start()
} catch {
case e: Exception =>
bootLogger.error("Server start failed", e)
}
}
И это мой конфиг:
new la.myproject.Config {
//use the defaults
}
Программа успешно загружает класс конфигурации и не со следующим EROR:
Error in config file: ../../src/main/conf/myproject.scala
com.twitter.util.Eval$CompilerException: Compiler exception error: line 3: not found: value la
new la.myproject.Config {
Я предполагаю, что это проблема загрузки класса. Но копание источников не давало мне понять, почему это происходит. Страусины, а также утилита Eval вообще не прикасаются к классу.
импорт la.myproject.Config новый Config { // использовать значения по умолчанию } имеет тот же эффект. – CheatEx