我们有一个使用Finagle的Scala Web应用程序,我们尝试在其中读取类路径中的一些文件。它可以在单元测试环境中工作,但是从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")
所有操作都失败,并带有nullpointer异常,我将其解释为无法在类路径上找到文件。
要运行组装好的jar,请运行:
java -classpath temp-conf -jar project-app/target/scala-2.12/cea-app.jar
有人有线索吗?
答案 0 :(得分:0)
Scala sbt组件文件化;
注意:如果对Java使用-jar选项,它将忽略-cp,因此,如果您有多个JAR文件,则必须使用-cp并传递主类:java -cp“ jar1.jar:jar2.jar “主要