scala - Scala finagle 应用程序从类路径读取属性文件
问题描述
我们有一个使用 Finagle 的 Scala Web 应用程序,我们尝试从类路径中读取一些文件。它在单元测试环境中工作,但是当从 Intellij Idea 组装和运行时,我们得到一个空指针异常,因为它无法读取文件。我尝试了不同的版本
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
有人有线索吗?
解决方案
Scala sbt 组装文档;
注意:如果你对 java 使用 -jar 选项,它将忽略 -cp,所以如果你有多个 JAR 文件,你必须使用 -cp 并传递主类: java -cp "jar1.jar:jar2.jar" Main
推荐阅读
- keycloak - Spring Security 有没有办法缓存令牌自省结果?
- forms - MS ACCESS 默认和本机图像路径
- git - 停电损坏 git 文件后,如何检索重要的 git 信息?
- python - 如何在 python 的视觉呈现中重新标记 rdf(.ttl) 图中的节点?
- laravel - 如何扩展 Laravel 验证
- sql - SQL:为同一表中具有重叠日期范围的单独记录创建标志
- sql - SQLLite strftime 不读取列值
- google-analytics - 谷歌分析事件的时间戳在谷歌数据工作室中得到四舍五入
- php - 动态生成html php按钮,按钮不起作用
- javascript - 函数返回 null 导致应用程序崩溃