2017-05-05 11 views
0

自動インポートの提案でScalaとEclipseを設定する際にいくつかの問題がありました。私は簡単なScalaコードを実行(コンパイルと実行)できます。しかし、私はauto/suggestインポート機能が必要です。Scala IDE(およびsbt)でインポートがうまくいきません

私の最初の試みは、既存の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をダウンロードすることを決定した(IDを構築します:4.5.0-vfinal-2016-12-13T10:59:29Z-タイプセーフ)

私はすでにインストールされてきましたスカラIDEには独自のScalaバージョン(2.10と2.11)が付属しているので、これは問題ではないはずです。もちろんhttp://doc.akka.io/docs/akka/1.3.1/intro/getting-started-first-scala-eclipse.html

は私がアッカの新しいバージョンを(インストールakka_2.11-2.4:

は、私はそれは私がそれを試して与えた少し時代遅れだ場合でも、簡単なアッカアプリをセットアップするために、このチュートリアルに従うことを試してみました.18.zip)、外部jarとしてakka-actor.jarを追加しようとしました。 WorkerクラスをScalaクラスファイル内で使用しようとすると、そのクラスが見つからないというエラーが表示されます。赤いxをクリックすると私に解決策が表示されないので、手作業で輸入明細書を書く必要があります。 私の質問は、Eclipseが適切なクラスを自動的にインポートするソリューションを表示するように設定を構成する方法です。

私はsbt(0.13)とsbteclipseでプロジェクトをセットアップしようとしました。私はここで説明されている方法をセットアップしました:How to add a scala library to eclipseと、Akkaを依存関係として追加しました。 Eclipseにはたくさんのものがインストールされていましたが、Import existing projectを使用しましたが、自動インポートは機能しません。プロパティを開いてJava Build Pathに移動した場合、エラーや警告は表示されません。

これは、それが私を示しものです:enter image description here

実際にラインをポップアップすることが隠されている、それだけでこの行です:

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> 

答えて

0

EclipseがScalaは開発のための本当に良い選択ではないようです。

IntelliJに切り替えました。 ScalaはIntelliJの最初の使用時にインストールすることができ、sbtもサポートしています。 build.sbtファイルの変更はIntelliJによって認識され、sbt(新しい依存関係をインストールするなど)を起動します。

もちろん、不明なクラスの使用のためにいくつかのパッケージをインポートすることもうまくいきます。

また、Scalaのさまざまなバージョンを簡単にインストールすることもできます。

関連する問題