web-dev-qa-db-ja.com

エラー:scala:Scalaコンパイラライブラリに 'scala-library * .jar'がありません

環境: Play 2.3.0/Scala 2.11.1/IntelliJ 13.1

Typesafe Activator 1.2.1を使用してScala 2.11.1を使用して新しいプロジェクトを作成しました。プロジェクトの作成後、gen-idea。生成されたIDEAプロジェクトは次のエラーでコンパイルに失敗します。

Error: scala: No 'scala-library*.jar' in Scala compiler library in test

私は何か間違っていますか?回避策?

enter image description here

35
jkschneider

IDEA 13なので、ScalaプラグインにバンドルされているSBTサポートを使用する必要があります。

これにより、サードパーティのSBTプラグインを追加したり、特別なコマンドを実行したりする必要がなくなります。 「ファイル->プロジェクトのインポート...」メニュー項目を使用してプロジェクトをインポートするだけで、SBTプロジェクト構造とその依存関係が自動的にロードされます。

20
  1. [ファイル]-> [プロジェクト構造]-> [ライブラリ]を開き、その中のscala sdkを削除します。たとえば、次の画像のscala-sdk-2.11.8です。 enter image description here

  2. +をクリックしてから、Scala SDK。 enter image description here

  3. リストから正しいScala SDKを選択してください。私にとっては、図に示されているIvy-Scala-2.11.8です。 enter image description here

  4. 現在のプロジェクトを選択します(鉱山はspark-test)、[OK]をクリックします。 enter image description here

  5. 次に、[OK]をクリックして閉じます。 enter image description here

  6. もう一度実行してください、今すぐ動作するはずです。

33
Searene

Play 2.3で./activator ideaによって生成された.ideaファイルでも同じ問題が発生しました。簡単な修正方法は、[プロジェクト構造]-> [モジュール]を見て、コンパイラライブラリの名前をメモすることです。私にとっては「SBT:scala2.11.1」でした。 「プロジェクト構造->ライブラリ」を見て、このライブラリの内容を確認してください。 scala-compiler.jar、scala-library.jar、scala-reflect.jarが含まれている必要があります。このライブラリが存在しない場合、それらを追加します(私の場合は〜/ .sbt/boot/scala-2.11.1/libにあります)。

7
Russell

同じ問題がありました。

外部sbtすなわちsbt compileを使用してプロジェクトを構築している場合、ライブラリに依存関係を作成または追加し(すべての外部依存関係も)、scala sdkが追加されますscalaのバージョンに基づいてSBT:scala*として。したがって、SBTをプレフィックスとして使用してSDKを削除し、Intellijを介して適切なSDKを追加できます。

File->Project Structure->Libraries

SBT SDKを削除して、手動で追加します。

1
ketankk

IDEA 15およびActivator 1.3.5からエクスポートされたプロジェクトの場合、現時点ではラッセルのソリューションのみが役立ちました。 〜/ .sbt/boot/scala-2.11.1/libにある3つのライブラリをライブラリのコンパイラクラスパスとクラスに追加して、scalaコンパイラライブラリを修正しました。プロジェクトのインデックスを作成した後、このライブラリをIDEAのグローバルライブラリに移動し、そこに保存しました。

1
Alex Shcherbyna

IDEA 12の場合、Settings.Compilerで[Use external build]のチェックボックスをオフにしたときにこの問題を修正しました。

0
wiseco68