当我运行一个工作的Java类和一个不完整的,不工作的Scala类时,编译器并没有说错误与Scala文件有关。
编译器应该说错误在Scala类中并指向行号,因为程序在Scala类失败,而且错误在Scala文件中。
这就像我在仅Java程序中描述的那样,但不是用Scala程序编写的Java。
为什么它没有按预期工作,我该如何解决这个问题?
修改
进一步检查时,我在消息窗口中找到了错误位置,但这不是Run输出。很多时候,在一个大项目中,有许多文件正在进行中,错误会使消息窗口变得混乱。我需要这个在Run输出中打印错误信息。 Java这样做,为什么不能Scala?
错误:
Exception in thread "main" java.lang.ClassNotFoundException: compile_error_test.JavaClass
at java.net.URLClassLoader$1.run(URLClassLoader.java:359)
at java.net.URLClassLoader$1.run(URLClassLoader.java:348)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:347)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:182)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:116)
您可以看到如何使用足够复杂的程序,这会导致浪费时间查找带有错误的文件。
JavaClass.java
public class JavaClass {
public void callScalaClass() {
ScalaClass scalaClass = new ScalaClass();
scalaClass.scalaTestMethod();
}
public static void main(String[] args) {
new JavaClass().callScalaClass();
}
}
ScalaClass.scala
class ScalaClass {
def scalaTestMethod(): Unit = {
// Purposefully Undefined
var nonDefinedVar =
}
}
答案 0 :(得分:0)
发生此错误是因为文件正在编译但未写入out目录或任何目录。