1
私は新しいアプリケーションで構成ライブラリとしてostrichを使用しようとしています(これまではランタイム統計情報を使用していました)。しかし、私はreadmeからコードスニペットを使用して動作させることはできません。ここでオーストリッチは設定ファイルをコンパイルできません
は私のコードです:
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ユーティリティだけでなく、Ostrichもクラスローディングには触れません。お使いの設定ファイルで
輸入la.myproject.Config 新しいコンフィグ{ が//デフォルト を使用} は同じ効果があります。 – CheatEx