首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Akka:失踪的akka.version

Akka:失踪的akka.version
EN

Stack Overflow用户
提问于 2015-01-13 05:38:10
回答 1查看 8.7K关注 0票数 3

我有一个scala项目,我在IntelliJ内部运行良好,它的运行/调试配置设置为Application,现在我想创建一个jar来使用‘java.jar’运行它。这是一个maven项目,而不是SBT。

我有三个模块,顶部模块(包括所有其他模块)在“资源”文件夹中有一个reference.conf。这是一个最小的application.conf,不是很多设置。另一个模块有自己的reference.conf。

我创建了一个基于我的顶级模块的工件,并构建它来创建一个jar。当我用java执行它时

代码语言:javascript
复制
Exception in thread "main" java.lang.ExceptionInInitializerError
    at com.se.pd.Main.main(Main.scala)
Caused by: com.typesafe.config.ConfigException$Missing: No configuration setting found for key 'akka.version'
    at com.typesafe.config.impl.SimpleConfig.findKey(SimpleConfig.java:124)
    at com.typesafe.config.impl.SimpleConfig.find(SimpleConfig.java:145)
    at com.typesafe.config.impl.SimpleConfig.find(SimpleConfig.java:151)
    at com.typesafe.config.impl.SimpleConfig.find(SimpleConfig.java:159)
    at com.typesafe.config.impl.SimpleConfig.find(SimpleConfig.java:164)
    at com.typesafe.config.impl.SimpleConfig.getString(SimpleConfig.java:206)
    at akka.actor.ActorSystem$Settings.<init>(ActorSystem.scala:168)
    at akka.actor.ActorSystemImpl.<init>(ActorSystem.scala:504)
    at akka.actor.ActorSystem$.apply(ActorSystem.scala:141)
    at akka.actor.ActorSystem$.apply(ActorSystem.scala:118)
    at com.se.pd.ServiceMain$class.$init$(ServiceMain.scala:25)
    at com.se.pd.Main$.<init>(Main.scala:17)
    at com.se.pd.Main$.<clinit>(Main.scala)

解压缩文件时,我会在根dir中看到合并的reference.conf。

我遗漏了什么?当我创建ActorSystem时,是否需要做一些特定的事情?我试着删除所有配置文件并运行所有默认设置,但它仍然没有工作,尽管在这种情况下,错误从抱怨"akka.version“变为抱怨"akka”。所以我觉得我只是没有加载akka的缺省值?

EN

回答 1

Stack Overflow用户

发布于 2015-01-14 03:04:04

我修正它是为了我的目的,但它并没有真正向我澄清问题是什么。我的修复(特定于IntelliJ的想法)是将工件更改为:

“提取到目标罐”

“复制到输出目录并通过清单链接”

我想当我制造一个大罐子时,会有什么东西丢失了。

--

我只是想添加一个更好的解决方案,用maven创建一个“胖罐子”。但我不能得到赞扬,因为它看起来像下面链接到Zoltan的Akka页面,提出了同样的解决方案,老实说,我不记得我是在哪里找到这个的。我可能在过去的某个时候接触过更新过的页面。请查阅该链接以获得更好的信息。

所以:

使用maven着色器插件创建fat jar,然后确保合并配置文件:

代码语言:javascript
复制
<transformer
implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
          <resource>reference.conf</resource>
     </transformer>
     <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
      <mainClass>myMainClass</mainClass>
</transformer>

使用这种配置,我可以成功地构建胖罐子。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27915512

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档