我正在尝试在我的新应用程序中使用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
}
程序成功加载配置类,但失败并显示以下错误:
配置文件出错:../../ src / main / conf / myproject.scala
com.twitter.util.Eval $ CompilerException:编译器异常错误:第3行:找不到:值la
new la.myproject.Config {
我猜这是一个类加载问题。但是挖掘资源却让我不知道为什么会这样。 Ostrich以及Eval实用程序根本不接触类加载。
答案 0 :(得分:0)
在您的配置文件中:
import la.myproject.Config