是否有可能在.java和.scala类之间存在循环依赖?

osh*_*hai 5 java compiler-construction scala scala-java-interop

假设我在.java文件中定义了A类,在.scala文件中定义了B类.
类A使用类B和类B使用类A.
如果我使用java编译器,我将有编译错误,因为类B尚未编译.如果我使用scala编译器,则不会找到类A. 有没有可以一起编译的编译器?

And*_*yle 18

我认为Scala 2.7.2引入了联合编译模式来做到这一点?

scalac您使用的是哪个版本,是否在禁用此模式的情况下运行?

编辑:等一下,当你说scalac导致A类未被发现时 - 你是否意识到你仍需要编译纯Java文件javac?Scalac的联合编译模式实际上并不*.class为Java文件生成输出,只是根据其签名编译Scala类.因此,您之后仍然需要编译Java文件,尽管javac现在已经编译了Scala类,这应该不是问题.