Eclipse无法识别Scala代码

问题描述:

我使用Eclipse Indigo和Scala IDE插件。我从Maven下载了一个升降机项目。它构建正确。 Eclipse说它正在用Scala编辑器查看它。Eclipse无法识别Scala代码

但是,它仍然给我在每一行上的错误,因为它将代码视为Java(它给错误没有分号,单词“def”等)。我试着清理项目,它仍然给错误。

+0

我希望该文件被称为“.scala”? – aishwarya 2011-12-15 15:56:05

+0

一个可能的原因是您安装了Scala IDE 2.0 RC3并安装了Groovy插件。如果是,请更新到RC4。 – 2011-12-15 16:05:33

+0

是的,该文件被称为斯卡拉。我昨天晚上参加了Scala IDE,所以我很确定它是RC4。 – Joe 2011-12-15 16:26:41

一对夫妇的事情,我会尝试:

1)右键单击项目,配置>添加斯卡拉自然。

2)在斯卡拉菜单,运行安装程序Diagnositics公司...>使用推荐的默认设置

+0

这导致了“死亡的红色屏幕”(我的红色波浪线),我相信这是因为我编辑了我的eclipse.ini文件以增加堆大小(启动时由Scala插件推荐),然后重新启动了eclipse - 然后,安装程序诊断程序再也没有运行,导致Scala插件永远无法正确设置。 – jhclark 2012-04-01 18:27:17

+3

有一件事让我感到沮丧 - 你必须在Scala Perspective中为Scala Nature提供这个工具 – Lachlan 2013-01-17 23:50:44

打开包资源管理器,看看你的斯卡拉来源。该图标是否显示S(用于Scala)或J(用于Java)?

如果你看到一个S,那么你可能会错过斯卡拉自然。正如Luigi所建议的那样,尝试添加Scala Nature并查看是否解决了您的问题(右键单击项目,配置>添加Scala自然。)

否则,如果看到J,则可能是“JDT Weaving “未启用。这不应该发生,可能取决于你已经安装的其他插件。

如果我是你,我会尝试的只是从Eclipse中卸载所有Scala IDE插件(如果您在安装的插件列表中看到它,则为“Eclipse的Scala IDE”,以及“JDT Weaving for Scala”)。然后,重新安装Scala IDE 2.0.0-RC04。我知道,这不是理想的解决方案,但如果没有更多的信息,很难说出发生了什么。

如果这也行不通,请在scala-ide-user Mailing List中写一条消息。确保提供Eclipse安装中的插件列表。这可能有助于我们理解正在发生的事情。

我以前也遇到过这个问题,以及使用Maven和Eclipse时 - 我将在Scala透视图中工作,一切都很好,然后在某些时候,Indigo完全失去了使用Scala和正在用Java编译器构建我的代码。在构建路径和配置,清理项目或启用Scala自然方面没有任何帮助似乎可以解决它。

我到目前为止唯一提出的解决方案是在使用Maven时使用IntelliJ,并且仅在使用SBT构建项目时才使用Scala Eclipse插件。您可以尝试将Maven POM转换为SBT项目,但每次依赖项更改时都必须更新。 Heiko Seeberger的sbt-eclipse插件非常漂亮。

我有类似的问题,但是当我删除Scala Nature并将其添加回来时,它就会变好。现在很好。

但还有另一个问题:

我的Java类拒绝承认我的斯卡拉的。但是,当我做一个“Ctrl + Click”= Open Declaration时,它就会进入正确的位置。依赖于Scala的我的Java类看起来像Red一样。我检查了构建路径设置等,他们都看起来不错。

它甚至可能比这更简单,我忘了在源文件的顶部写封装名称,因此Eclipse忽略将其视为Scala文件。

当您复制现有的Java项目以启动新项目或使用项目文件生成器时,可能会出现此问题。

你可以看看的一件事是你的Java Build Path项目属性。 确保您的Scala源文件夹没有像**/*.java这样的包含过滤器。 确保它是**/*.scala或删除它,并且您的源应该被scala插件检测到。

我的Java类拒绝识别我的Scala。但是,当我做一个“Ctrl + Click”= Open Declaration时,它就会进入正确的位置。依赖于Scala的我的Java类看起来像Red一样。我检查了构建路径设置等,他们都看起来不错。

我有同样的问题。当我将我的Scala类移动到正确的包文件夹时,它工作正常。斯卡拉不需要这个。但只有Java编辑器才能重构Scala类。

我解决了编译问题/通过

  1. 右击项目
  2. 斯卡拉菜单-chose新斯卡拉安装和 选择版本建立与SBT月食错误,直到上市没有错误

我当时面临同样的问题,因为在项目中scala文件夹中没有包含 后面跟着下面的步骤 project - > properties - > java built path - > source - > add folde r

我使用Maven来生成我的jar。因此,遵循以下步骤 右键单击项目 - > Maven - >更新项目 - >检查强制更新快照/发布 - >确定

有时,或者在某些版本中,您看不到“添加Scala自然“ 选项。

手动添加到您的.project文件应该这样做。例如。这个项目支持scala和java特性,所以它将把.java当作Java,将.scala当作Scala。

<projectDescription> 
    <name>myprojectname</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> 
    <linkedResources> </linkedResources> 
</projectDescription>