= Scala IDE for Eclipse = == 参考 == * [[http://www.scala-ide.org/|本家]] * [[http://www.assembla.com/wiki/show/scala-ide/|本家マニュアル]] == 現状のトラブルとその解決策 == 現時点(2011/11)では、まだ不具合が多い。典型的な不具合とその解決策を探ってみる。 === コンパイルエラーがあると実行できない === 一箇所でもコンパイルエラーがあると、binディレクトリがクリアされてしまい、一つの.classファイルも生成されない。 このため一部のコードでも実行することは不可能。これはどうしようもないようだ。 === JUnitテストが実行できない === JUnitによるユニットテストを素直に実行してくれないことがある。これに対する解決策は以下。 [[http://www.assembla.com/wiki/show/scala-ide/Using_Unit_Testing_Frameworks]] 上の一部訳:  * プロジェクトのプロパティダイアログを表示する。 * Java Build Path->Librariesタブでextenral class folder(外部クラスフォルダー)を追加する。つまりこれは、プロジェクトのbinフォルダ  * Order and Export(順序とエクスポート)タブで、新しいクラスパス(binのこと)をトップにするか、あるいは少なくともソースフォルダの上に来るようにする。 * もしJUnit4をビルドパスに加えていないのであれば、加える。 これでも実行できない場合がある。その場合は、Run ConfigurationのClassPathタブで、Scala LibraryがJRE System Libraryの上に来るように変更したらうまく行った(あくまで経験則)。 === Consoleに表示される例外の中の行をクリックしても「Source not found」と言われてしまう === 例えばコンソールに以下のように例外が表示された場合、二行目をクリックすればrelation.scalaの197が表示されるはずだが、 「Source not found云々」と言われてしまう。 {{{ Exception in thread "main" ru.circumflex.orm.ORMException: Failed to initialize city. at ru.circumflex.orm.Relation$class.liftedTree1$1(relation.scala:197) at ru.circumflex.orm.Relation$class.init(relation.scala:185) at circumflex_orm_only.City$.init(TestMain.scala:31) at ru.circumflex.orm.Relation$class.constraints(relation.scala:131) }}} おそらくこれ * [[http://www.assembla.com/spaces/scala-ide/tickets/1000042--source-not-found--error]] つまり、ソースに記述されているパッケージがパッケージディレクトリ構造に一致していないとソースが探せない。 Scalaではソースファイルの存在するディレクトリとは無関係にpackageを決定できてしまうが、これはやらない方が良いようだ。