Hallo an alle,
wir sollten als Hausübung eine Simulation in Java programmieren. Empfohlen wurde die Verwendung von Eclipse.
Trotzdem sollte das Programm eigentlich über die Eingabekonsole startbar sein, oder?
Dafür kompiliere ich die *.java Datei und erhalte die *.class Datei.
Nun soll mithilfe von "java * 'übergebene Werte'" das Programm ausgeführt werden.
Hier komme ich immer wieder zu der Fehlermeldung: Die Hauptklasse * konnte nicht gefunden oder geladen werden.
Da ich das anfangs für ein allgemeines Problem hielt habe ich den Klassiker "HelloWorld" probiert. Hier liefert mir die Konsole ohne Probleme das korrekte Ergebnis.
Daher die Frage: was muss ich ändern, damit das eigentliche Programm funktioniert?
Evtl.: hilfreiche Nebeninformationen: Wir verwenden eine nicht in java-inkl. Library. Vielleicht kennt ihr sie ja. Wir nutzen die ACM.jar für unsere Programme.
Da das Programm eine reine Konsolenausgabe (in einem extra Fenster erzeugt) sieht der Start wie folgt aus:
import acm.program.ConsoleProgram;
public class Simulation extends ConsoleProgramm {
...
}
Bereits erledigte Schritte:
- Änderung von Umgebungsvariablen (hinzufügen von *\bin zu Path, erstellen von CLASSPATH (hier habe ich einen Verweis auf einen Ordner gemacht, in welchem die auszuführende Datei *.class liegen wird; in diesem liegt auch die acm.jar und die *.java)
- Java-Neuinstallation (von 64bit auf 32bit)
In der Hoffnung, dass der etwas längere Text nicht abschreckend wirkt.
Danke für jede Idee
creditcard
PS.: nochmal die Frage: was muss ich ändern, damit das eigentliche Programm funktioniert?
Hallo,
habe die Schritte alle mal bearbeitet.
java-> Fehlermeldung Hauptklasse nicht gefunden
javaw-> gibt keinen Fehlertext aus, öffnet allerdings auch nicht da gewünschte Fenster.
Bei den anderen Möglichkeiten passiert ebenfalls nichts.
Java-Programme, welche ein System.Out.println verwendet, werden ausgeführt ohne Fehlermeldung.
Auch wenn ich meinen Code mit sysout implementiere gibt die Konsole das gewünschte Ergebnis aus.
Wenn ich allerdings die externe .jar Library einbinde klappt der Konsolenaufruf nicht.
Dennoch Danke für die Idee die anderen Möglichkeiten auszuprobieren.
Dafür kompiliere ich die *.java Datei und erhalte die *.class Datei.
Nun soll mithilfe von "java * 'übergebene Werte'" das Programm ausgeführt werden.
Hier komme ich immer wieder zu der Fehlermeldung: Die Hauptklasse * konnte nicht gefunden oder geladen werden.
Da ich das anfangs für ein allgemeines Problem hielt habe ich den Klassiker "HelloWorld" probiert. Hier liefert mir die Konsole ohne Probleme das korrekte Ergebnis.
Daher die Frage: was muss ich ändern, damit das eigentliche Programm funktioniert?
^also ein ändern der Klassenbezeichnung hat nichts am eigentlichen Problem geändert (wobei auch nur Projekte mit einer externen Bibliothek betroffen scheinen)
Ich habe heute nochmal zwei Tutoren kontaktiert. Die wussten außer einem "workaround" auch keine Lösung.
Anstelle der direkten Ausführung via 'java (...)' in der Konsole erstelle ich jetzt mithilfe von Eclipse eine 'runnable JAR file', welche auch die benötigten Bibliotheksklassen enthält.
Der Aufruf mit 'java -jar (...)' führt das Programm dann ohne Probleme aus.
Meine Vermutung: java selbst weiß nicht, von wo es die benötigten 'import (...)' Ausfertigungen laden muss und meckert demnach bei einem Abruf.
Für die Interessierten: wir verwenden die ACM JTF (findet man hier: http://cs.stanford.edu/people/eroberts/jtf/)
Falls es dennoch weitere Ideen gäbe, ich würde das Programm dennoch gerne über die Konsole ohne erstellen einer *.jar Datei starten.
Ich habe heute nochmal zwei Tutoren kontaktiert. Die wussten außer einem "workaround" auch keine Lösung.
Anstelle der direkten Ausführung via 'java (...)' in der Konsole erstelle ich jetzt mithilfe von Eclipse eine 'runnable JAR file', welche auch die benötigten Bibliotheksklassen enthält.
Der Aufruf mit 'java -jar (...)' führt das Programm dann ohne Probleme aus.