Textpad, classpath, java = Probleme

Status
Nicht offen für weitere Antworten.

camaleon

Mitglied
Hallo!

Ich werde demnächst beginnen Java zu lernen, deshalb hab ich mir jetzt Textpad runtergeladen. Wenn ich Java kompilieren gedrückt habe, erschien die Meldung "javac.exe kann nicht gefunden werden"
Hat nicht funktioniert also hab ich mir das Javapaket runtergeladen. Hab dann bei der Anleitung was falsch verstanden und meinen Wert von classpath versehentlich gelöscht.

Verzweifelt hab ich dann die javac.exe Datei in den Ordner System32 verschoben, da mein Pc sie dort vorerst nicht finden konnte.

Nun schreibt er folgendes, wenn ich Java kompilieren will:

Registry key 'Software\JavaSoft\Java Runtime Environment\CurrentVersion'
has value '1.6', but '1.5' is required.
Error: could not find java.dll
Error: could not find Java 2 Runtime Environment.

Prozess beendet mit Exit-Code 2

Jetzt check ich gar nichts mehr!

Kann mir jemand helfen?

Vielen Dank schon mal!

LG
camaleon
 
Ich glaube mit Javapaket meint er das JDK.
Ich würde dir raten das ganze nochmal neu zu installieren, dann den Classpath setzen (du weist wie das geht?) und dann kanns los gehen.
 
Ja, java_ee_sdk-5_01-windows.exe und jxpiinstall-6u11-fcs-bin-b90-windows-i586-25_nov_2008.exe hab ich installiert, falls euch das was sagt.

Hab das javac.exe wieder aus system32 gelöscht.

Was soll ich tun? Was soll ich mit dem classpath wert machen? Weiß leider nicht wie man den neu setzt.

Danke für die rasche Antwort.

LG
camaleon
 
Also das hier ist die aktuellste Version.

Die installierst du.
Den Classpath setzt du wie folgt. Systemsteuerung/System/Erweiterte Systemeinstellungen, dort klickst du unter Erweitert auf Umgebungsvariablen und fügst bei Systemvariablen die Variable "CLASSPATH" mit dem Wert "Dein Laufwerk:\Ordner in den Java installiert wurde (in der Regel Program Files)\Java\jre6\lib\ext\QTJava.zip\jre6\lib\ext\QTJava.zip"
Wenn du bereits eine solche Variable besitzt und diese einen Wert hat hängst du den Pfad einfach hinter ein ";" drann. Dann kannst du über die Konsole javac und java benutzen.
 
Zuletzt bearbeitet:
Hey!

So, hab das alte jetzt deinstalliert und das neue aus deinem Link installiert. Auch den classpath hab ich wie von dir beschrieben eingegeben. Leider kommt immer noch die Meldung

Registry key 'Software\JavaSoft\Java Runtime Environment\CurrentVersion'
has value '1.6', but '1.5' is required.
Error: could not find java.dll
Error: could not find Java 2 Runtime Environment.

Was läuft da falsch?!
Danke für eure Mühen!

Lg
camaleon

Edit: Achja, hat der PATH bei den Umgebungsvariablen auch was zu bedeuten? Dort ist ein ähnlicher Pfad eingespeichert.
 
Zuletzt bearbeitet:
Kompillierst du in deiner IDE oder in der Windows Console?
 
Zuletzt bearbeitet:
Achso, dann musste du dort natürlich auch noch den Classpath setzen.
Im Moment kannst du nur in der Windows Console mittels "javac DeinLaufwerk:/DeinOrdner/DeineDatei.java" kompillieren und via "java DeinLaufwerk:/DeinOrdner/DeineDatei" die Datei ausführen.

Den Classpath musst du jetzt natürlich in Textpad auch noch setzen.

Google sagt dazu: Im Programm auf Configure klicken und dann auf Preferences. Dort kannst du unter Enviromental Variables den Classpath setzen.
 
Zuletzt bearbeitet:
Hallo liebe Javagemeinde.
Ich habe den Classpath in der Systemsteuerung exakt auf das Verzeichnis gesetzt, in dem sich meine source-Dateien befinden. Im prompter befinde ich mich im Verzeichnis, in dem sich die javac.exe befindet. Gebe ich nun ein javac test.java erhalte ich den Fehler file not found test.java . Jetzt bin ich baff. Ihr hoffentlich nicht und könnt mir bitte helfen.
 
Liegt die Datei test.java auch in dem Verzeichnis? Wenn nicht, musst du nämlich noch den kompletten Pfad mit hinschreiben.
 
Ich habe den Classpath in der Systemsteuerung exakt auf das Verzeichnis gesetzt, in dem sich meine source-Dateien befinden. Im prompter befinde ich mich im Verzeichnis, in dem sich die javac.exe befindet. Gebe ich nun ein javac test.java erhalte ich den Fehler file not found test.java.
Der CLASSPATH dient dazu, *.class-Files zu finden und nicht etwa die Sourcen. javac.exe wird die zu übersetzende Datei im aktuellen Verzeichnis suchen, daher enwteder a) javac.exe dort aufrufen, wo dei Source-Files liegen oder b) beim Aufruf von javac.exe als Argument den vollständigen Pfad zur Source-Datei mitgeben
 
das habe ich falsch gedacht. Ich habe in der Tat angenommen, dass über den classpath die quelldatei test.java gefunden wird. Jo, danke :applaus:
 
Hi, also, ist es so der Normalzustand, dass javac nur aus dem Installationverzeichnis heraus compiliert ( mit Pfadangabe zur Quelldatei) und java aber nur im Verzeichnis , wo die .class steht ? Etwas seltsam. Ich habe den Classpath in der Umgebungsvariable x-mal gecheckt. java test funktioniert nur , wenn der prompter auf dem Verzeichnis der test.class steht. Irgendwas stimmt da garantiert nicht. ???:L
 
Hi, also, ist es so der Normalzustand, dass javac nur aus dem Installationverzeichnis heraus compiliert ( mit Pfadangabe zur Quelldatei) und java aber nur im Verzeichnis , wo die .class steht ? Etwas seltsam. Ich habe den Classpath in der Umgebungsvariable x-mal gecheckt. java test funktioniert nur , wenn der prompter auf dem Verzeichnis der test.class steht. Irgendwas stimmt da garantiert nicht. ???:L

Nein, da du den Classpath gesetzt hast kannst du javac von überall her starten.
Und Java kannst du auch überall verwenden, solange du immer den vollständigen Pfad mit angiebst.
 
Nein, da du den Classpath gesetzt hast kannst du javac von überall her starten.
Und Java kannst du auch überall verwenden, solange du immer den vollständigen Pfad mit angiebst.

nix durcheinanderbringen.

wenn das JAVA_HOME\bin verzeichnis im Path sich befindet, dann kann man java(c) ueberall aus aufrufen.

Der classpath wird gebraucht, dass java(c) auch richtig arbeiten kann.


wenn man mit packages arbeitet und tief in der package struktur selbst ist wird java(c) nicht gehen.

ansonsten kannst du (wenn die PATH Variable richtig ist und er classpath richtig ist) von ueberall java(c) aufrufen und auch deine Klassen kompilieren
 
K, wieder was gelernt, steck selbst noch nicht so tief in der Materie, und dachte es funktioniert so.
 
Moiens. Vielleicht sehe ich ja auch den Wald...Also ich habe in den Umgebungsvariablen als Path und Classpath das Verzeichnis stehen, in welchem sich meine .java und .class Dateien befinden. Nicht den Pfad, in dem sich javac.exe und java.exe befinden. Als Namen der Variablen habe ich Path bzw. Classpath geschrieben. Dennoch kann ich javac nur aus dem Java\jdk1.6.0_16\bin Verzeichnis starten und muss den kompletten Pfad der Quelldatei angeben ???:L . Nee nee irgendwas stimmt da nicht. Hölft mich bitte :shock:
 
.Also ich habe in den Umgebungsvariablen als Path und Classpath das Verzeichnis stehen, in welchem sich meine .java und .class Dateien befinden. Nicht den Pfad, in dem sich javac.exe und java.exe befinden.
Wieso machst du denn so etwas??? :autsch:
 
Dennoch kann ich javac nur aus dem Java\jdk1.6.0_16\bin Verzeichnis starten
Path ist eine Umgebungsvariable des Betriebssystems zum speichern der Pfade zu div Executables. Wenn Du also javac unabhängig davon in welchem Verzeichnis Du Dich befindest starten willst, dann muss der Ordner ...jdk1.6.0_16\bin in dieser Variablen gelistet sein.
CLASSPATH ist Java spezifisch und gibt an in welchen Verzeichnissen, Archiven, ... die Java Klassen zu finden sind - dabei ist noch zu beachten, ob Du mit Packages arbeitest oder nicht. Dementsprechend muss der java bzw. javac Aufruf angepasst werden.
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben