Akka:无法读取karaf

时间:2017-10-25 09:27:14

标签: java scala maven akka apache-karaf

我在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)       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)       在org.opendaylight.com.test.rem $$ anon $ 1.run(rem.scala:19)

我甚至在其他答案中建议的pom文件中添加了 Maven shade插件,但添加插件会使所有karaf功能更改为“已解决”#39 ;'州。 akka的配置文件也在类路径中。据我所知,akka配置文件根本没有被读取,因为即使在删除配置文件后我也得到了相同的异常。

1 个答案:

答案 0 :(得分: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个文件的内容连接成一个文件。