5

我正在开发一个从控制台中删除并从 Eclipse 中打开的 playframework 项目。

但是,Eclipse 将我的 scala 源文件视为 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>
4

4 回答 4

5

Scala-ide 的官方支持版本是 Helios,Indigo 版本仍被归类为实验性版本。但是,您可以尝试将 Scala Nature 添加到您的项目中。右键单击项目,选择Configure->Add Scala Nature,或查看我链接到的两个问题之一中的想法。

于 2012-03-20T12:34:27.517 回答
4

我过去也遇到过类似的问题。我认为问题出在项目的 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>
于 2012-03-20T12:06:01.303 回答
2

我昨天遇到了同样的问题,TWICE,在一个运行良好的项目中(所以我的项目性质很好)。两者都是通过从 Eclipse 运行 Maven 来触发的,eclipse:eclipse目标是(添加对新 jar 的引用),这改变了我的.classpath文件并使我的所有.scala文件都变红了。恢复.classpath以匹配我以前工作的版本(减去新 jars)不会修复编译错误。我重新启动了 Eclipse,重新构建、清理、将 Java 和 Scala 特性从 .project 文件中取出,将所有内容与一小时前工作的版本进行了比较……仍然是红色的。非常令人沮丧。

我不记得昨天第一次解决问题时这些步骤的组合是什么,但刚刚我进来,做了清理,重新启动等,仍然所有的 Scala 文件都坏了。 叹。然后“嗯”,我编辑了其中一个 .scala 文件。这触发了一个“真正的”构建,现在一切都很好。?!?!?

TL;DR如果您的项目以前很好,现在您的所有.scala文件都已损坏,请尝试对其中一个进行简单的编辑,它对我有用

于 2012-05-31T16:28:57.147 回答
0

我遇到了同样的问题。我正在
为 Eclipse 3.0.1.v-2_10-201307101641-eff8147 使用 Eclipse 4.3 (Kepler) 和 Scala IDE。我有一个 maven scala 项目,我将其 eclipsified 和导入。它工作得很好,但是当我导入 java 包时,整个文件不再可编译。通过更改库的顺序,我能够再次编译它。但是后来那个技巧不再起作用,我所有的 scala 文件都变得无法编译。我尝试了这里建议的所有东西(Eclipse 舞蹈),但无济于事。

然后我尝试在 Eclipse 中创建一个新的 scala 项目。我从原始项目中复制了 .classpath 文件和 src 目录 - 瞧!现在它编译得很好。maven生成的eclipse文件肯定有问题。

ETA:我检查了我的 .project 由 maven 创建的文件。它在其中指定了以下内容: <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插件可能不会出现这个问题。我会试试看。

于 2013-12-19T10:23:33.957 回答