• 締切済み

Scalaのmainが見つからないエラー

すみません.またScala初心者の質問ですが教えてください. 以下のようなmainだと何の問題もなく動きます.(あたりまえです) object Main { def main(args: Array[String]): Unit = { def title ="AAA" println("The title='" + title + "'") } } ところがこれを以下のように書き換えて、Eclipseから実行してみたのですが、 import scales.utils._ import ScalesUtils._ import scales.xml._ import ScalesXml._ import java.io._ import parser.strategies._ import scalaz._ import Scalaz._ import scales.xml.jaxen._ object Main { def main(args: Array[String]): Unit = { val doc = loadXml(new java.io.FileReader("MusicLibrary.xml"),defaultPathOptimisation) val root = top(doc) val xpath = ScalesXPath("musicLibrary/cd[string(year) = '1994']/title") val titles = xpath.evaluate(root) titles.foreach(title => println("The title='" + title.toString() + "'")) } } Cannot locate main type 'Main' in project 'ScaleXmlTest'. Check your Run Configuration and make sure that the value of "Main class" is in sync with the package and the type name declared in class 'Main'. のエラーになってしまいます.つまりimportしているライブラリを参照するとおかしくなるように見えます. これはインポートしているライブラリの作り方に問題があるのでしょうか? ちなみに、 Scale XMLは https://github.com/chris-twiner/scalesXml から、 Scalazは https://github.com/scalaz/scalaz からそれぞれ落として、自分でsbtでビルドして.jarを作り、上記のプロジェクトで参照しています. 以上 よろしくお願いします.

みんなの回答

  • racene
  • ベストアンサー率70% (21/30)
回答No.1

どのような設定をしているかわからないため、何が原因か正確にはわかりませんが・・・ * sbtの設定がおかしい * jarがおかしい * そもそもsbtをeclipseから使えるようにしていない のどれでもないなら、もしかすると https://groups.google.com/forum/#!msg/scala-ide-user/__GQS5EmK6U/U6pOE-veTWQJ と同じバグかもしれません。 こちらの場合は scala-ide を最新にすれば直るかと思います。 しかし、sbtを使うならわざわざ自分でソースを落としてきたりしなくて良いのでは・・・?

toshi_xt500
質問者

お礼

ご回答ありがとうございました. エラーメッセージはScala IDEが出していることは確かなようです. https://github.com/scala-ide/scala-ide/blob/master/org.scala-ide.sdt.core/src/scala/tools/eclipse/launching/MainClassVerifier.scala ご指摘のようにScala IDEが悪いのか、こちらの設定が悪いのか判断がつきませんので、一度Scala IDEの方に聞いて見ることにいたします.(IDEは最新です.) > しかし、sbtを使うならわざわざ自分でソースを落としてきたりしなくて良いのでは・・・? はい、初心者なのでたぶんまだsbtのなんたるやすらわかっておりません. 落としてきてsbtでビルドできて御の字です. こちらは別の項目で質問させていただきます. 以上

toshi_xt500
質問者

補足

Eclipseの最新のnightly buildを使ってテストしてみましたが結果は同じでした.ただし、このEclipseのビルドだとプロジェクトでimportしている.jarにエラーがある旨表示してくれます.どうやらそちらが原因のようです.もう一度importしているものをビルドしなおしてみます. 以上

すると、全ての回答が全文表示されます。

関連するQ&A