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



## Sonnenblume (11. Nov 2012)

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


----------



## Gast2 (11. Nov 2012)

Liegen die Klassen im selben Ordner? Verwendest du packages? 
Versuche mal beim kompilieren noch den Parameter 
	
	
	
	





```
-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.


----------



## Sonnenblume (11. Nov 2012)

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.


----------



## Pentalon (11. Nov 2012)

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


----------



## Gast2 (11. Nov 2012)

Dann poste mal die beiden Klassen, und die Aufrufe mit denen du versuchst du kompilieren.


----------



## Sonnenblume (11. Nov 2012)

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.


----------



## Sonnenblume (11. Nov 2012)

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!


----------



## TKausL (11. Nov 2012)

Sonnenblume hat gesagt.:


> 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


----------



## Sonnenblume (11. Nov 2012)

Kompilieren der ersten Klasse:
javac FloatKlasse.java (-> funktioniert)

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


----------



## TKausL (11. Nov 2012)

Liegen die beiden im gleichen Ordner? Sind die beiden evtl. in einem oder verschiedenen Packages?


----------



## Sonnenblume (11. Nov 2012)

Beide im selben Ordner, selbes Package.


----------

