当我运行一个有效的Java类和一个不完整的,无法正常工作的Scala类时,编译器不会说该错误与Scala文件有关。
编译器应该说该错误在Scala类中,并指向行号,因为该程序在Scala类中失败,而且该错误在Scala文件中。
正如我在仅Java程序中描述的那样,但是在使用Scala程序的Java中却没有描述。
为什么它不能按预期工作,我该如何解决?
编辑
在进一步检查中,我在消息窗口中找到了错误位置,但这不是“运行”输出。在大型项目中,很多时候,许多文件正在处理中,并且出现错误,使消息窗口混乱不堪。我需要它来在运行输出中打印错误信息。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 =
}
}
发生此错误是因为正在编译文件,但未将文件写入out目录或与此相关的任何目录。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句