Scala Can';不要在IDEA插件开发中使用akka

Scala Can';不要在IDEA插件开发中使用akka,scala,plugins,intellij-idea,akka,Scala,Plugins,Intellij Idea,Akka,当我开发IDEA插件时,我想使用akka,但有一些问题 我在这里创建了一个演示项目: 你可以克隆它,然后在你的计算机上重现这个问题。(请注意设置部分) 我把问题复制到这里: 问题 1.无法使用默认akka配置 如果我删除: src/main/resources/application.conf src/main/scala/freewind/MyAkkaConfig 并运行此插件,它将在启动时报告此错误: com.intellij.ide.plugins.PluginManager$Star

当我开发IDEA插件时,我想使用
akka
,但有一些问题

我在这里创建了一个演示项目:

你可以克隆它,然后在你的计算机上重现这个问题。(请注意设置部分)

我把问题复制到这里:

问题 1.无法使用默认akka配置 如果我删除:

  • src/main/resources/application.conf
  • src/main/scala/freewind/MyAkkaConfig
并运行此插件,它将在启动时报告此错误:

com.intellij.ide.plugins.PluginManager$StartupAbortedException: 
com.intellij.diagnostic.PluginException: No configuration setting found for key 'akka' 
[Plugin: com.yourcompany.unique.plugin.id]
2.无法从文件加载配置 然后我将
reference.conf
从akka jar复制到
src/main/resources/application.conf
,但它仍然报告相同的错误。IDEA插件中的akka似乎无法自动找到此文件

3.ClassNotFoundException:akka.actor.LightArrayRevolversScheduler 因此,我必须使用
MyAkkaConfig.scala
对scala代码中的配置进行硬编码,但这一次,它报告了另一个错误:

com.intellij.ide.plugins.PluginManager$StartupAbortedException: 
com.intellij.diagnostic.PluginException: ClassNotFoundException: akka.actor.LightArrayRevolverScheduler
[Plugin: com.yourcompany.unique.plugin.id]

akka.actor.lightArrayRevolversScheduler
用于
MyAkkaConfig.scala
,并包含在
akka-actor_2.11:2.3.12:jar
中。但是为什么IDEA不能加载它呢?

对于第三个问题,可以通过传递类加载器来解决:

val system = ActorSystem("my-actor", MyAkkaConfig.config, this.getClass.getClassLoader)

但是我们也可以删除
MyAkkaConfig.config
,使用
resources

下的文件
application.conf
,听起来像是类路径问题。检查
运行配置
并查看类路径的外观。您可以手动将配置文件所在的目录添加到类路径。对于像我这样面临相同问题的人来说,这也解决了其他两个问题,