LoginSignup
1
1

More than 5 years have passed since last update.

IntelliJ IDEAのsbt consoleからScala2.9系のprojectをcompileできない

Last updated at Posted at 2015-11-14

現象

大人の事情で、Scala 2.9.2でjarファイルを作る必要があったのですが、すんなりとできなかったのでメモ。
(ちなみに2015/11/14現状の安定板はScala 2.11.7)
まず、IntelliJ IDEAを使ってプロジェクトを新規作成し、クラスを適当に定義。
そのあと、IntelliJ IDEAのsbt consoleからcompileしてみたところ、以下のエラーが出てコンパイルできない。。目的のjarも作れない。。

[error] error while loading AnnotatedElement, class file 'C:\Program Files (x86)\JetBrains\IntelliJ IDEA 14.1.5\jre\jre\lib\rt.jar(java/lang/reflect/AnnotatedElement.class)' is broken

環境

  • IntelliJ IDEA: 14.1.5
  • sbt: 0.13.8
  • Scala: 2.9.2
  • Java: 1.7.0u80
  • OS: windows 10

対策

その1:IntelliJ IDEAのsbtを使わない

sbtの公式(http://www.scala-sbt.org)からsbtをダウンロードしてパスを通してコマンドプロンプトを立ち上げてプロジェクトに移動して、sbt compile
普段Java8を使っている人は、Java7用のJAVA_HOMEに変更しておくことをお忘れなく。

その2:sbt consoleを使わない

IntelliJ IDEAのSBT TaskとしてTasksにcompileを登録してRun

その3:番外編

大人の事情がなければScalaのバージョンを上げればいいよ。

その他

  • 単にどこかの設定が不足しているだけかもしれないけど、上の組み合わせだとデフォルトの状態で失敗します。
  • External Librariesにはjdkのライブラリがちゃんと読み込まれています。
  • Scala 2.10以降なら問題ないです。
  • sbtのバージョンを下げても改善しません。
  • Java6でも改善しません。
  • IntelliJ IDEA 15だとなぜだかset consoleがインストールされなくてそもそも上の問題が発生しません。
  • Scalaのメジャーバージョンは2桁目。なので、2桁目が違っていたら互換性はないものと考える。
  • Scala 2.9.2を使うときのJavaのバージョンは7か6か。8はダメ。
  • IntelliJ IDEAのsbtと公式のsbtは違うようです。
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1