Erste Schritte Fehler beim *.class Aufruf über cmd.exe

creditcard

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

creditcard
 
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?

Heißt deine Klasse wirklich "*"? Und das kompiliert fehlerfrei? Wunder mich da -> http://docs.oracle.com/javase/specs/jls/se7/html/jls-3.html#jls-3.8
Schon mal probiert die Klasse umzubennen?
 
Hast du schon mal probiert den HelloWorld Klassiker einfach umzubennen? (Also Datei + Klasse)
^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.

Vielen Dank an euch und eure Ideen
creditcard
 
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.

Gib doch den Classpath bei dem Aufruf an!
java -cp [DEIN CLASSPATH] [Mainclass] [args]
 

Zurück
Oben