簡體   English   中英

建議導入不適用於Scala IDE(和sbt)

[英]Suggest imports does not work with Scala IDE (and sbt)

在設置具有自動導入建議的Scala和Eclipse時遇到了幾個問題。 我可以運行(編譯並運行)簡單的Scala代碼。 但是我需要自動/建議導入功能。

我的第一次嘗試是使用現有的Eclipse(版本:Neon.2版本(4.6.2))並通過更新站點安裝Scala。 安裝已完成,但是無法檢測到我的JRE。 指向我的javac所在的目錄,以及他們的父母也沒有工作,Eclipse沒有將其識別為有效的JRE根目錄。

/usr/bin/javac -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/javac

因此,我決定從http://scala-ide.org/下載一個Scala IDE(內部版本號:4.5.0-vfinal-2016-12-13T10:59:29Z-Typesafe)

我已經通過自制軟件安裝了scala(2.12.2),但我讀到Scala IDE帶有自己的Scala版本(2.10和2.11),因此這不應該成為問題。

我嘗試按照本教程設置了一個簡單的Akka應用程序,即使它有點過時,我也嘗試了一下: http : //doc.akka.io/docs/akka/1.3.1/intro/getting-started負一階,eclipse.html

當然,我安裝了較新版本的Akka(akka_2.11-2.4.18.zip),並嘗試將akka-actor.jar添加為外部jar。 嘗試在Scala類文件中使用Worker類時,它向我顯示找不到該類的錯誤。 單擊紅色的x並沒有顯示解決方案,我需要手工編寫導入行。 我的問題恰恰是關於如何配置我的設置,以使Eclipse向我展示自動導入正確的類的解決方案。

我試圖用sbt(0.13)和sbteclipse設置項目。 我做了安裝程序,其解釋方式如下: 如何將scala庫添加到eclipse並添加Akka作為依賴項。 它安裝了很多東西(在終端中看到了很多輸出),並且我在Eclipse中使用了Import existing project ,但是自動導入仍然無法正常工作。 如果我打開屬性並導航到Java Build Path,它看起來很好,我的意思是沒有錯誤或警告。

這就是給我看的: 在此處輸入圖片說明

實際上,該行在彈出窗口中是隱藏的,僅此行:

class Worker extends Actor {

我的.project文件:

<projectDescription>
  <name>My Project</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>

我的build.sbt文件:

name := "My Project"

version := "1.0"

scalaVersion := "2.11.11"

libraryDependencies +=
  "com.typesafe.akka" %% "akka-actor" % "2.5.1"

我的.classpath文件:

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry kind="src" path="foo.bar"/>
    <classpathentry kind="con" path="org.scala-ide.sdt.launching.SCALA_CONTAINER"/>
    <classpathentry kind="lib" path="/Users/timaschew/.ivy2/cache/com.typesafe.akka/akka-actor_2.11/jars/akka-actor_2.11-2.5.1.jar" sourcepath="/Users/timaschew/.ivy2/cache/com.typesafe.akka/akka-actor_2.11/srcs/akka-actor_2.11-2.5.1-sources.jar">
        <attributes>
            <attribute name="javadoc_location" value="jar:file:/Users/timaschew/.ivy2/cache/com.typesafe.akka/akka-actor_2.11/docs/akka-actor_2.11-2.5.1-javadoc.jar!/"/>
        </attributes>
    </classpathentry>
    <classpathentry kind="lib" path="/Users/timaschew/.ivy2/cache/com.typesafe/config/bundles/config-1.3.1.jar" sourcepath="/Users/timaschew/.ivy2/cache/com.typesafe/config/srcs/config-1.3.1-sources.jar">
        <attributes>
            <attribute name="javadoc_location" value="jar:file:/Users/timaschew/.ivy2/cache/com.typesafe/config/docs/config-1.3.1-javadoc.jar!/"/>
        </attributes>
    </classpathentry>
    <classpathentry kind="lib" path="/Users/timaschew/.ivy2/cache/org.scala-lang.modules/scala-java8-compat_2.11/bundles/scala-java8-compat_2.11-0.7.0.jar" sourcepath="/Users/timaschew/.ivy2/cache/org.scala-lang.modules/scala-java8-compat_2.11/srcs/scala-java8-compat_2.11-0.7.0-sources.jar">
        <attributes>
            <attribute name="javadoc_location" value="jar:file:/Users/timaschew/.ivy2/cache/org.scala-lang.modules/scala-java8-compat_2.11/docs/scala-java8-compat_2.11-0.7.0-javadoc.jar!/"/>
        </attributes>
    </classpathentry>
    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
    <classpathentry kind="output" path="bin"/>
</classpath>

對於Scala開發而言,Eclipse似乎並不是一個很好的選擇。

我切換到IntelliJ。 Scala可以在IntelliJ的首次使用時安裝,它也支持sbt。 IntelliJ可以識別build.sbt文件中的更改以觸發sbt(例如,安裝新的依賴項)。

當然,建議導入一些軟件包以使用未知類也可以正常工作。

它還允許您非常輕松地安裝不同版本的Scala。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM