我正在开发一个playframework项目,我已经从控制台中解脱出来并从Eclipse打开。
但我的scala源文件被Eclipse视为java源文件,导致编译错误。
有人可以帮忙吗?
编辑:我的.project文件:
<projectDescription>
<name>web</name>
<buildSpec>
<buildCommand>
<name>org.scala-ide.sdt.core.scalabuilder</name>
</buildCommand>
</buildSpec>
<natures>
<nature>org.scala-ide.sdt.core.scalanature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>
答案 0 :(得分:5)
过去我遇到过类似的问题。我认为问题是该项目的Java Builder。这是可以构建.project
以及Java
类的Scala
文件的内容。您可以将它与您自己的配置进行比较:
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>debug-s</name>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.scala-ide.sdt.core.scalabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.scala-ide.sdt.core.scalanature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>
答案 1 :(得分:4)
Scala-ide的官方支持版本是Helios,Indigo版本仍被归类为实验版。但是,您可以尝试将Scala Nature添加到项目中。右键单击项目,选择Configure->Add Scala Nature
,或查看我链接到的两个问题之一中的想法。
答案 2 :(得分:2)
我昨天经历了同样的问题,TWICE,在一个工作得很好的项目中(所以我的项目性质很好)。两者都是通过从Eclipse运行带有eclipse:eclipse
目标的Maven(添加对新jar的引用)触发的,这些更改围绕我的.classpath
文件并使我的所有.scala
文件变为红色。恢复.classpath
以匹配我之前工作的版本(减去新的jar)将无法修复编译错误。我重新启动了Eclipse,重建,清理,将Java和Scala特性引入和移出.project文件,将所有内容与一小时前工作的版本区分开来......仍然全部为红色。非常令人沮丧。
我不记得昨天第一次修复这些步骤的确切组合,但刚才我进来了,干净,重启等等,仍然所有的Scala文件都被破坏了。 叹气。然后“嗯”,我编辑了一个.scala文件。这触发了一个“真正的”构建,现在一切都很好。 ?!?!?
TL; DR 如果您之前的项目还不错,现在所有.scala
文件都已损坏,请尝试对其中一个文件进行简单编辑,这对我有用
答案 3 :(得分:0)
我遇到了同样的问题。我正在使用Eclipse 4.3(开普勒)和
Scala IDE for Eclipse 3.0.1.v-2_10-201307101641-eff8147。我有一个mamp scala项目,我进行了eclipsified和导入。它运行得很好,但是当我导入java包时,整个文件不再可编译。通过更改库的顺序,我能够再次编译它。但是那个技巧不再起作用,我的所有scala文件都变得无法编译。我尝试了这里建议的所有事情(Eclipse舞蹈)无济于事。
然后我尝试在Eclipse中创建一个新的scala项目。我复制了原始项目中的.classpath文件和src目录 - et voila!现在它编译得很好。 maven生成的eclipse文件中一定存在问题。
ETA:我查看了maven创建的.project文件。它有这个指定:
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
</buildCommand>
当我拿出它时,问题就消失了。我还有另一个问题:
<comment>myproject. NO_M2ECLIPSE_SUPPORT: Project files created with the maven-eclipse-plugin are not supported in M2Eclipse.</comment>
这可能是javabuilder首先出现的原因。我不得不通过在我的项目中添加Scala Nature来添加scalabuilder。也许这个问题不会出现我添加M2Eclipse插件。我会尝试看看。