2015-01-14 108 views
0

当我运行一个正在工作的Java类和一个不完整的非工作Scala类时,该编译器并没有说错误出现在Scala文件中。从Java调用Scala时出现错误的编译错误

编译器应该说错误出现在Scala类中,并且由于程序在Scala类中失败而指向行号,而且错误出现在Scala文件中。

这适用于我仅在Java中描述的程序,而不是在Java中使用Scala程序。

为什么它不按预期工作,我该如何解决这个问题?

编辑

在进一步审查,我发现在消息窗口中的错误位置,但这不是运行输出。很多时候,在一个大型项目中,有很多文件正在进行,错误会使消息窗口混乱。我需要这个在运行输出中打印错误信息。 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

在什么样的环境下你试图编译这些文件?你能分享一下你正在使用的编译工作流程的更多细节吗? – ale64bit

+0

我正在使用intelliJ,Java 8和Scala 2.11。你在IDE中得到了什么样的错误消息? – BAR

+0

没有人试过这个? – BAR

回答

0

这个错误发生在因为文件被编译,但不能写入out目录或为任何目录物。