【问题标题】:Akka: unable to read configuration in karafAkka:无法读取 karaf 中的配置
【发布时间】:2018-04-06 07:48:15
【问题描述】:

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

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

线程“Thread-113”中的异常 com.typesafe.config.ConfigException$Missing:未找到密钥“akka.version”的配置设置 在 com.typesafe.config.impl.SimpleConfig.findKeyOrNull(SimpleConfig.java:152) 在 com.typesafe.config.impl.SimpleConfig.findOrNull(SimpleConfig.java:170) 在 com.typesafe.config.impl.SimpleConfig.findOrNull(SimpleConfig.java:176) 在 com.typesafe.config.impl.SimpleConfig.find(SimpleConfig.java:184) 在 com.typesafe.config.impl.SimpleConfig.find(SimpleConfig.java:189) 在 com.typesafe.config.impl.SimpleConfig.getString(SimpleConfig.java:246) 在 akka.actor.ActorSystem$Settings.(ActorSystem.scala:168) 在 akka.actor.ActorSystemImpl.(ActorSystem.scala:522) 在 akka.actor.ActorSystem$.apply(ActorSystem.scala:142) 在 akka.actor.ActorSystem$.apply(ActorSystem.scala:119) 在 org.opendaylight.com.test.rem$$anon$1.run(rem.scala:19)

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

【问题讨论】:

    标签: java scala maven akka apache-karaf


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-11-03
      • 2016-03-28
      • 1970-01-01
      • 1970-01-01
      • 2021-10-23
      • 2017-04-14
      • 2022-07-06
      相关资源
      最近更新 更多