Java cygwin und javac : com.sun.tools.javac.Main konnte nicht gefunden werden.

M.E.

Lt. Commander
Registriert
Jan. 2007
Beiträge
1.923
Hallo zusammen,

Ich habe ein komplexeres Makefile, das C-Code und Javacode übersetzt und die Binaries dann über einen COM Port ausliefert.

Ich verwende cygwin und habe dort Probleme mit dem Java Compiler:
$ javac
Fehler: Hauptklasse com.sun.tools.javac.Main konnte nicht gefunden oder geladen werden

Leider habe ich im Netz nicht viel dazu gefunden, außer dass man es eben nicht in cygwin sondern mit javac gleich unter Windows compilieren solle. Das Funktioniert soweit auch, allerdings kann ich das Makefile nicht einfach so in Einzelschritte zerlegen und muss alles unter cygwin compilieren.

Damit javac überhaupt unter cygwin gefunden wird, habe ich die PATH Variable angepasst:
echo $PATH
...:/cygdrive/f/Programme/jdk-7u55-x64/bin/

Allerdings habe ich jetzt noch obigen Fehler. Hat jemand eine Idee, woran das liegen kann?

Ich habe bereits javac zum CLASSPATH hinzugefügt, aber das macht ja eigentlich wenig Sinn (und hilft auch nichts).
echo $CLASSPATH
...:/cygdrive/f/Programme/jdk-7u55-x64/bin/javac.exe

Gibt es irgendwo eine Anleitung wie man javac unter cygwin verwenden kann?

MfG
M.E.
 
Dein JDK ist nicht richtig eingebunden, die Klasse com.sun.tools.javac.Main muss im Classpath vorhanden sein. Vermutlich reicht es, wenn du im Skript JAVA_HOME auf das JDK setzt und exportierst:
Code:
JAVA_HOME="/cygdrive/f/Programme/jdk-7u55-x64"
export JAVA_HOME
 
Hallo,

Danke für den Tipp, leider klappt das aber auch nicht.

Ich habe beides Probiert:
JAVA_HOME="/cygdrive/f/Programme/jdk-7u55-x64"
JAVA_HOME="/cygdrive/f/Programme/jdk-7u55-x64/bin"

Sowohl als JAVA_HOME und CLASSPATH in allen Kombinationen.
Die Fehlermeldung ist weiterhin:
Fehler: Hauptklasse com.sun.tools.javac.Main konnte nicht gefunden oder geladen werden
 
Ok, setz mal das /jdk/bin an den Anfang des PATH, vielleicht wird noch ein anderes JRE verwendet (z.B. aus /windows/system32). Für weitere Hilfe müsstest du mal den kompletten PATH und ggf. das Skript selbst posten (zB über hastebin).

Übrigens gehört /bin nicht ins JAVA_HOME, da ist immer nur der eigentliche JDK-Pfad festgelegt:
Code:
JAVA_HOME: /path/to/jdk
PATH: /path/to/jdk/bin;...
 
Zurück
Oben