java - Akka:无法读取 karaf 中的配置

标签 java scala maven akka apache-karaf

我正在使用 Akka Actor 在 karaf 中进行远程通信。

当我使用maven部署编译后生成的jar文件时,出现以下错误:

Exception in thread "Thread-113" com.typesafe.config.ConfigException$Missing: No configuration setting found for key 'akka.version' at com.typesafe.config.impl.SimpleConfig.findKeyOrNull(SimpleConfig.java:152) at com.typesafe.config.impl.SimpleConfig.findOrNull(SimpleConfig.java:170) at com.typesafe.config.impl.SimpleConfig.findOrNull(SimpleConfig.java:176) at com.typesafe.config.impl.SimpleConfig.find(SimpleConfig.java:184) at com.typesafe.config.impl.SimpleConfig.find(SimpleConfig.java:189) at com.typesafe.config.impl.SimpleConfig.getString(SimpleConfig.java:246) at akka.actor.ActorSystem$Settings.(ActorSystem.scala:168) at akka.actor.ActorSystemImpl.(ActorSystem.scala:522) at akka.actor.ActorSystem$.apply(ActorSystem.scala:142) at akka.actor.ActorSystem$.apply(ActorSystem.scala:119) at org.opendaylight.com.test.rem$$anon$1.run(rem.scala:19)

我什至在其他答案中建议的 pom 文件中添加了 Maven 阴影插件,但添加该插件会使所有 karaf 功能更改为“已解决”状态。 akka 的配置文件也位于类路径中。据我所知,akka 配置文件根本没有被读取,因为即使删除配置文件后我也遇到了相同的异常。

最佳答案

此错误通常是由于将多个 Akka jar 组合成一个 super jar 且未正确处理 reference.conf 文件而引起的。每个 Akka 模块 jar 文件中的 reference.conf 文件需要连接到 super jar 中的单个文件中。

按照此处文档中的说明进行操作:https://doc.akka.io/docs/akka/current/scala/general/configuration.html#when-using-jarjar-onejar-assembly-or-any-jar-bundler

然后验证运行时使用的 jar 文件是否将所有这些 reference.conf 文件的内容连接到一个文件中。

关于java - Akka:无法读取 karaf 中的配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46928723/

相关文章:

Java 小程序不会从 IIS SSL 站点使用自签名证书加载到 Mac Lion 上的浏览​​器中

Java 泛型和 instanceof 关键字

scala - 如何跳出 Scala 中的循环?

string - 如何在scala中比较两个字符串?

java - 装饰模式困惑?

Java 从一种异常转换为另一种异常

Scala 隐式和类型别名

maven - 从父pom继承属性

java - Spring Boot Soap 集成测试失败

java - VSCode 中的自动 ActiveJDBC 检测