Я использую sbt 0.11 и Scala 2.9.1 (который, по-видимому, оценивает строки REPL в одном потоке).В моем build.sbt у меня есть:
initialCommands in console := """
println(Thread.currentThread)
println(Thread.currentThread.getContextClassLoader)
ru.circumflex.orm.Context.get() // reads my src/main/resources/cx.properties
"""
Context.get () загружает ресурсы с:
val bundle = ResourceBundle.getBundle(
"cx", Locale.getDefault, Thread.currentThread.getContextClassLoader)
Это приводит к ошибке (REPL появляется для буферизации своего собственного выводапосле stdout / stderr):
> console
[info] No CoffeeScripts to compile
[info] Starting scala interpreter...
[info]
Thread[run-main,5,trap.exit]
sun.misc.Launcher$AppClassLoader@12360be0
14:17:44.003 [run-main] ERROR ru.circumflex.core - Could not read configuration parameters from cx.properties.
res0: ru.circumflex.core.Context = ctx()
Welcome to Scala version 2.9.1.final (Java HotSpot(TM) 64-Bit Server VM, Java 1.6.0_26).
Type in expressions to have them evaluated.
Type :help for more information.
scala> Thread.currentThread
res1: java.lang.Thread = Thread[run-main,5,trap.exit]
scala> Thread.currentThread.getContextClassLoader
res2: java.lang.ClassLoader = scala.tools.nsc.interpreter.IMain$$anon$2@3a8393ef
Удаление последней строки initialCommand и запуск ее в REPL не приводит к ошибке, так как к этому времени ресурс становится видимым.справиться с этим и сделать ресурсы моего приложения доступными для initialCommands?