Застрял в "Hello World" с IntelliJ IDEA 9.0.1 для Scala - PullRequest
7 голосов
/ 19 апреля 2010

Я использую Eclipse с версии 2.x и IDE в целом более 20 лет (начиная с Turbo Pascal и Turbo C в конце 80-х!).

(эта преамбула подразумевает "я не идиот" ... но звучит не так умно, как я ее читаю ... LOL: -])

Теперь я пытаюсь использовать отладчик Scala в IntelliJ 9.0.1. Я смирился со старым режимом ожидания, уловкой «Привет, мир», чтобы проверить, правильно ли настроена среда:

class hello {
  def main(a: Array[String]) = println("got args: " + a)
}

Я тоже пробовал эту версию, на всякий случай:

object hello extends Application {
    println("hi")
}

Увы, я не могу запустить даже этот простой пример Scala. Я хотел бы в конечном итоге поставить точку останова, но пока просто запустить это было бы здорово. У меня Java 1.6u20 и плагин Scala 0.3.473 (январь 2010). Ошибка ниже суммирует мой опыт:

альтернативный текст http://img535.imageshack.us/img535/842/ij9.jpg

Что, возможно, я мог делать неправильно?

Спасибо

Ответы [ 4 ]

5 голосов
/ 19 апреля 2010

С вашего скриншота похоже, что вы использовали:

class hello {
  def main(a: Array[String]) = println("got args: " + a)
}

Метод main должен находиться на объекте для поддержки метода main.

Использование заглавных букв в имени объекта / класса является соглашением, но оно не применяется.

2 голосов
/ 04 марта 2012

Когда вы изменяете свою реализацию с класса на объект , она работает как шарм:

object Hello {
   def main(a: Array[String]) = println("got args: " + a)
}

Я подобрал это небольшое, но важное отличие: http://sonyarouje.com/2011/03/18/running-scala-in-intellij-idea-10/

1 голос
/ 19 апреля 2010

Ваш файл называется hello.scala? (Я не вижу, что у него есть расширение .scala на вашем скриншоте) - это должен быть файл .scala, иначе компилятор не сможет его скомпилировать

1 голос
/ 19 апреля 2010

Это может быть ошибка в плагине. Если вы определяете свой объект как Hello (с большой буквы), то он работает, по крайней мере, на моей машине.

...