2012-11-01 40 views
7

如果项目中存在(无关的!)编译错误,是否有方法在Scala IDE 2.0.2(Eclipse 3.7)中运行Scala应用程序或单元测试?在Scala IDE中运行Scala应用程序,出现编译错误

在Java中,这是没有问题的,但斯卡拉IDE不断告诉我:

项目包含编译错误(因此,已经生产无二进制文件)。

我想要做的就是在主要重构过程中运行一个小测试,但我现在无法修复所有编译错误。我不想开始评论事情,因为那些编译错误很好地提醒仍然需要完成的任务。

回答

4

目前的Scala IDE不支持这种行为,但如果它能这将是很好。

要意识到这一点,我创建了一个ticket

JDT尽管允许在源编译问题执行Java代码。 JDT在内部用一个例外代替有缺陷的代码,如果相关的代码被执行,则会引发这个例外。但是如果在执行过程中永远不会调用有缺陷的代码,则不会发生任何错如果SDT支持类似的行为,那将会很好。

+0

有趣的是,我不知道JDT必须做这样的事情来支持这个功能。我认为它以某种方式执行完全排除了类路径中错误类的程序。但是这更有意义。感谢票和解释。 – rolve

1

如果您使用Scala 2.10,一个不错的选择是使用新引入的???表示法。这样,即使函数尚未实现,您的代码也会被编译。

当然有更好的方法,但这个仍然会比评论代码更好。

正如加斯帕建议,你仍然可以实现???如果你使用Scala的早期版本工作:

def ??? : Nothing = throw new Error("Not implemented") 
+0

谢谢,但我有点用Scala 2.9.2。 – rolve

+2

@rolve请注意,'???'不是新的关键字或对语言的改变。你可以很容易地自己编程:'def ???:Nothing =抛出新的错误(“未实现”)(这是Coursera Scala课程中完成的)。 – Jesper

+0

感谢您的澄清! –

相关问题