7 Stimmen

Bei "Hello World" mit IntelliJ IDEA 9.0.1 für Scala feststecken

Ich benutze Eclipse seit 2.x und im Allgemeinen IDEs seit über 20 Jahren (seit Turbo Pascal und Turbo C Ende der 80er Jahre!).

(Dieses Vorgeplänkel soll implizieren: "Ich bin nicht dumm" ... hört sich beim Lesen aber nicht so schlau an... LOL :-] )

Jetzt versuche ich, den Scala-Debugger in IntelliJ 9.0.1 zu benutzen. Ich habe mich mit einem alten Trick, dem "Hello World", abgefunden, um zu überprüfen, ob die Umgebung richtig eingerichtet ist:

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

Ich habe auch diese Version ausprobiert, nur zur Sicherheit:

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

Leider schaffe ich es nicht einmal, dieses einfache Scala-Beispiel auszuführen. Ich würde gerne später einen Breakpoint darin setzen, aber im Moment wäre es schon toll, es einfach auszuführen. Ich habe Java 1.6u20 und das Scala-Plug-in 0.3.473 (Januar 2010). Der unten stehende Fehler fasst meine Erfahrung zusammen:

alt text

Was mache ich möglicherweise falsch?

Danke

6voto

Don Mackenzie Punkte 7783

Von Ihrem Screenshot sieht es so aus, als ob Sie verwendet haben:

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

Die main-Methode muss auf einem Objekt stehen, um eine main-Methode zu unterstützen.

Das Kapitalisieren des Objekt-/Klassen-Namens ist die Konvention, aber sie wird nicht erzwungen.

2voto

Lothar Krause Punkte 41

Wenn Sie Ihre Implementierung von Klasse zu Objekt ändern, funktioniert es wie geschmiert:

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

Ich habe diesen kleinen, aber wichtigen Unterschied hier gefunden: http://sonyarouje.com/2011/03/18/running-scala-in-intellij-idea-10/

1voto

Arjan Blokzijl Punkte 6808

Es könnte sich um einen Fehler im Plugin handeln. Wenn Sie Ihr Objekt als Hello (mit Großbuchstaben) definieren, funktioniert es zumindest auf meinem Rechner.

1voto

oxbow_lakes Punkte 131223

Ist deine Datei hello.scala genannt? (Ich kann nicht sehen, dass sie die .scala Erweiterung in deinem Screenshot hat) - es muss eine .scala Datei sein, da der Compiler sie sonst nicht kompilieren kann

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X