環境: 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
私は何か間違っていますか?回避策?
IDEA 13なので、ScalaプラグインにバンドルされているSBTサポートを使用する必要があります。
これにより、サードパーティのSBTプラグインを追加したり、特別なコマンドを実行したりする必要がなくなります。 「ファイル->プロジェクトのインポート...」メニュー項目を使用してプロジェクトをインポートするだけで、SBTプロジェクト構造とその依存関係が自動的にロードされます。
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にあります)。
同じ問題がありました。
外部sbt
すなわちsbt compile
を使用してプロジェクトを構築している場合、ライブラリに依存関係を作成または追加し(すべての外部依存関係も)、scala sdkが追加されますscalaのバージョンに基づいてSBT:scala*
として。したがって、SBTをプレフィックスとして使用してSDK
を削除し、Intellijを介して適切なSDKを追加できます。
File->Project Structure->Libraries
SBT SDKを削除して、手動で追加します。
IDEA 15およびActivator 1.3.5からエクスポートされたプロジェクトの場合、現時点ではラッセルのソリューションのみが役立ちました。 〜/ .sbt/boot/scala-2.11.1/libにある3つのライブラリをライブラリのコンパイラクラスパスとクラスに追加して、scalaコンパイラライブラリを修正しました。プロジェクトのインデックスを作成した後、このライブラリをIDEAのグローバルライブラリに移動し、そこに保存しました。
IDEA 12の場合、Settings.Compilerで[Use external build]のチェックボックスをオフにしたときにこの問題を修正しました。