Programm läuft in Eclipse, aber nicht über Konsole

Sonnenblume

Mitglied
Hallo zusammen,

bisher habe ich meine Java-Übungsprogramme nur in Eclipse entwickelt und auch von dort aus gestartet. Nun möchte ich Kommandozeilenparamter übergeben und muss dazu ja das Programm aus der Konsole starten können. Dazu wollte ich erst einmal probieren, das Programm aus der Konsole heraus zu kompilieren und auszuführen (bis jetzt gibt es noch keine Kommandozeilenparameter, es geht erst mal nur um ein kleines Übungsprogramm).

Nun gut. Mein Programm besteht lediglich aus zwei Klassen, einer Klasse, die etwas berechnet und einer zweiten, die nur die main-Methode enthält. Die erste Klasse kann ich fehlerfrei kompilieren. Möchte ich aber anschließend die zweite Klasse, die mit der main-Methode, kompilieren, kommt die Fehlermeldung "cannot find symbol" mit Verweis auf den Klassennamen der ersten Klasse. Er scheint diese Klasse also nicht zu finden.

Was kann da schief laufen? Es kann ja eigentlich kein Programmierfehler oder simpler Tippfehler sein, da das Programm in Eclipse problemlos läuft.

Hat jemand Ideen?

Viele Grüße,
Sonnenblume
 
Liegen die Klassen im selben Ordner? Verwendest du packages?
Versuche mal beim kompilieren noch den Parameter
Code:
-cp .
mitzugeben. Falls das funktioniert ist dein Classpath falsch konfiguriert.

Nun möchte ich Kommandozeilenparamter übergeben und muss dazu ja das Programm aus der Konsole starten können.
Du kannst deinem Programm auch aus Eclipse heraus Kommandozeilenparameter mitgeben, das kannst du in der run configuration angeben.
 
Die Klassen liegen im selben Ordner, ich verwende zusätzlich noch das Paket java.util.Arrays.
Mit -cp . bekomme ich den selben Fehler.

Gut zu wissen, dass ich auch in Eclipse Kommandozeilenparameter übergeben kann, damit werde ich mich dann später beschäftigen. Trotzdem würde ich gerne mein Programm auch über die Konsole kompilieren und starten können. 🙂
 
Um Deinem Programm Parameter zu übergeben, musst Du es nicht auf der Commandline starten.
Gehe in das Menü RUN dort auf RUN CONFIGURATIONS... und da auf den Reiter Arguments.
Hier kannst Du Deine Parameter, die dem Programm übergeben werden sollen reinschreiben.

Pentalon
 

Anhänge

  • 11.11.png
    11.11.png
    8 KB · Aufrufe: 54
Ich weiß nicht, ob ich sie posten darf, weil es sich um Übungsaufgaben aus einem Buch handelt. Die sind urheberrechtsgeschützt. :-(
Ich schreibe mal ein klitzekleines eigenes Testprogramm mit zwei Klassen, versuche es zu kompilieren und wenn das auch nicht geht, werde ich es hier posten.

Pentalon, danke für den Hinweis. Ich werde das später ausprobieren, aber trotzdem möchte ich das Programm erst mal über die Konsole kompiliert bekommen.
 
Zuletzt bearbeitet:
Mein Testprogramm läuft problemlos über die Konsole mit dem selben eingebundenen Package java.util.Arrays. Komisch, irgendwas mache ich da wohl falsch. Naja, da das kompilieren und ausführen über die Konsole anscheinend grundsätzlich funktioniert, breche ich das an dieser Stelle mal ab. Danke für eure Hilfe!
 
Mein Testprogramm läuft problemlos über die Konsole mit dem selben eingebundenen Package java.util.Arrays.
Es liegt auch nicht an Standardbibliotheken sondern an deiner Klasse #1, welche von Klasse #2 anscheinend nicht gefunden wird. Den Befehl mit welchem du das Kompilieren versuchst darfst du posten, ich denke dieser ist nicht geschützt 😛
 
Kompilieren der ersten Klasse:
javac FloatKlasse.java (-> funktioniert)

Kompilieren der zweiten Klasse
javac TestFloatKlasse.java (-> Findet FloatKlasse nicht)
 

Zurück
Oben