繁体   English   中英

Eclipse无法识别Scala代码

[英]Eclipse not recognizing Scala code

我有Eclipse Indigo和Scala IDE插件。 我从Maven下载了一个电梯项目。 它构建正确。 Eclipse说它正在使用Scala编辑器查看它。

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

我会尝试几件事:

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

2)在Scala菜单中,运行Setup Diagnositics ...>使用推荐的默认设置

打开Package Explorer,查看scala源代码。 图标是显示S (对于Scala)还是J (对于Java)?

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

否则,如果您看到J ,则可能无法启用“JDT Weaving”。 这不应该发生,可能取决于您安装的其他插件。

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

如果这也不起作用,请在scala-ide-user邮件列表中写一条消息。 确保提供Eclipse安装中的插件的完整列表。 这可能有助于我们了解正在发生的事情。

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

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

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

我用sbt-eclipse解决了编译/构建错误的问题

  1. 右键单击项目
  2. Scala菜单 - 选择新Scala安装并选择版本,直到没有列出错误

我遇到了同样的问题,因为在项目scala文件夹中没有包含以下步骤项目 - > properties - > java built path - > source - > add folder

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

但还有另一个问题:

我的Java Classes拒绝识别我的Scala。 但是,当我执行“Ctrl + Click”=打开声明时,它会转到正确的位置。 依赖于Scala的我的Java类看起来像Red一样。 我检查了Build Path设置等,它们看起来都很好。

我的Java Classes拒绝识别我的Scala。 但是,当我执行“Ctrl + Click”=打开声明时,它会转到正确的位置。 依赖于Scala的我的Java类看起来像Red一样。 我检查了Build Path设置等,它们看起来都很好。

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

我用Maven来生成我的罐子。 所以按照以下步骤右键单击项目 - > 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>

在使用Maven和Eclipse之前我也遇到过这个问题 - 我将在Scala视角下工作,一切都很好,然后在某些时候,Indigo完全失去了它正在使用Scala并构建我的代码的事实使用Java编译器。 没有任何摆弄构建路径和配置,清理项目或启用Scala性质似乎解决它。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM