编译器错误:com.sun.tools.javac.code.Symbol$CompletionFailure: 找不到akka.actor.SupervisorStrategy$1的类文件。

4

我正在使用JDK8和IntelliJ IDEA Ultimate 2017.1(在我的Win x64上尝试了它- java版本为1.8.0_92-windows-x64)。

我有一个大型的多模块Maven项目。 我从具有“pom”打包类型的主模块启动Maven目标“clean package”,并且一切正常。 Maven显示“BUILD SUCCESS”。 但是当我尝试运行项目时,它显示了一行无法单击的文本:

"Compiler Error : com.sun.tools.javac.code.Symbol$CompletionFailure: class file for akka.actor.SupervisorStrategy$1 not found"

我已经尝试了所有可能的方法-在每个使用Supervisor策略方法的类中,我都添加了import static akka.actor.SupervisorStrategy.start等,但是没有成功。

是否有任何提示或有人也遇到过这种行为? 我认为这似乎是由于某些类在我的类路径中被遗漏了,但是无论如何,我不知道如何解决这个问题...

3个回答

7

对于IntelliJ的Community 2017.2版本,将编译器从Javac更改为Eclipse可以解决问题。

设置->构建、执行...->编译器->Java编译器->使用编译器:Eclipse


1
当我遇到这个问题时,大多数情况是因为我在Java代码中静态导入了Scala对象函数。Maven似乎可以编译它,但无论什么原因,IntelliJ都不喜欢它。因此,如果您正在这样做(或任何其他人阅读此文),请删除静态导入并直接从对象调用函数。

0

看起来你的pom文件存在重叠依赖的问题。

在IDEA中,打开你的pom文件,并按下ctrl+alt+shift+U快捷键。从弹出的窗口中,找到那些被标记为红色的超过期限的依赖项,点击它并按下shift+delete。

这将从你的pom文件中排除该依赖项。如果你操作正确,它应该能够解决90%的依赖问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接