我在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配置文件根本没有被读取,因为即使在删除配置文件后我也得到了相同的异常。
答案 0 :(得分:1)
此错误通常是将多个Akka jar组合到一个超级jar中而不是正确处理reference.conf
文件引起的。每个Akka模块jar文件中的reference.conf
文件需要连接到超级jar中的单个文件中。
然后验证运行时使用的jar文件是否将所有reference.conf
个文件的内容连接成一个文件。