Файл свойств чтения приложения Scala finagle из classpath - PullRequest
0 голосов
/ 04 октября 2018

У нас есть веб-приложение Scala, использующее Finagle, где мы пытаемся прочитать некоторые файлы из classpath.Он работает в среде модульного тестирования, но при сборке и запуске из Intellij Idea мы получаем исключение nullpointer, поскольку он не может прочитать файл.Я пробовал разные версии

val s = Thread.currentThread().getContextClassLoader.getResourceAsStream("env.txt")
val parent = Thread.currentThread().getContextClassLoader.getParent()
val s2 = parent.getResourceAsStream("env.txt")
val s3 = this.getClass.getResourceAsStream("env.txt")
val s4 = ClassLoader.getSystemResourceAsStream("env.txt")

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

Чтобы запустить собранный jar, я запускаю:

java -classpath temp-conf -jar project-app/target/scala-2.12/cea-app.jar

У кого-то есть подсказка?

1 Ответ

0 голосов
/ 05 октября 2018

Документация Scala-сборок sbt;

ПРИМЕЧАНИЕ. Если вы используете опцию -jar для java, она будет игнорировать -cp, поэтому, если у вас есть несколько JAR-файлов, вы должны использовать -cp и передать основной класс: java -cp "jar1.jar: jar2.jar" Main

...