Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : Doofer Noob kommt mit seiner Konsole nicht klar -Banngrund?



Aldinsys
10.09.2006, 12:15
Wie ihr den Titel alle locker entnehmen könnt habe ich ein Problem mit meinem Java SDK.
Ich habe es vor kurzem auf meinem PC installiert und das erste kleine Noob Programm geschrieben.
Nun habe ich ein Problem mit dem Compilieren...

Wenn ich auf den Befehl javac zurückgreife,sagt er mir,dass er den Ordner nicht finde.
In welchem Verzeichnis muss ich mich befinden,damit das ordentlich funktioniert...
Unter Linux war ich es sonst gewohnt,immer den Ordner über der zu compilierenden Datei aufzusuchen...


println("Please Help!")

Rolus
10.09.2006, 15:19
Welcher Ordner wird nicht gefunden? Eigentlich bietet es sich an, in das Verzeichnis der zu kompilierenden Datei zu gehen. Und dann eben javac file.java und java file. Ich glaube aber, dass ich das Problem nicht so ganz sehe. Wie lautet die Fehlermeldung genau? Directory not found?

freundliche Grüße, Rolus

Aldinsys
10.09.2006, 18:42
Ich habe meine Datei auf dem Desktop gespeichert.


Wenn ich in der Console nun auf

C:/.../Desktop

bin,und folgenden Befehl eingebe: javac Hello.java

Dann kommt folgende Meldung:

Der Befehl "javac" ist entweder falsch geschrieben oder konnte nicht gefunden werden.


Sicher nur so ein dummer Fehler von mir oder habe ich vielleicht was bei der Installation vergessen?

drunken monkey
10.09.2006, 19:31
Das wahrscheinlichste ist, dass du vergessen hast, nach der Installation die PATH-Umgebungsvariable zu aktualisieren.
Unter XP: Start > Systemsteuerung > System > Erweitert > Umgebungsvariablen. Dort Doppelklick auf die Systemvariable "Path" und den Eintrag um ";C:\Programme\Java\JDK 1.5\bin" (bei mir, bei dir könnte das Installationsverzeichnis natürlich differieren) erweitern. Jetzt sollte es klappen! ^^
Außerdem musst du noch eine Variable "CLASSPATH" mit dem Inhalt ".;C:\Programme\Java\JRE 1.5\lib" (der Punkt am Anfang ist wichtig, Verzeichnis kann wieder differieren, auf jeden Fall das aber im JRE-, das andere im JDK-Verzeichnis) erstellen, damit er Sachen wie "import java.io.File;" versteht.

Ich hoffe, das hilft! ^^

Vincent D. Vanderol
10.09.2006, 19:47
Hatte ich auch mal, das Prob, bzw habs immer noch, nur war das Kompilieren irgendwie nie nötig und ich konnte meine Sachen auch einfach nur mit dem java Befehl machen und war fröhlich >__>

Aldinsys
10.09.2006, 19:47
Ich habe jetzt die Umgebungsvariablen aktualisiert,wie von dir beschrieben.
Leider findet er den Befehl immer noch nicht.

In meinem Java Ordner befinden sich folgende Ordner:

j2re1.4.2_04
j2re1.4.2_12
jre1.5.0_05

Müsste es nicht einen Ordner mit jdk geben?

drunken monkey
10.09.2006, 19:55
Ich habe jetzt die Umgebungsvariablen aktualisiert,wie von dir beschrieben.
Leider findet er den Befehl immer noch nicht.

In meinem Java Ordner befinden sich folgende Ordner:

j2re1.4.2_04
j2re1.4.2_12
jre1.5.0_05

Müsste es nicht einen Ordner mit jdk geben?
o_O''
Wenn du das JDK installiert hast schon - da er nicht vorhanden ist, wirft das natürlich ein ganz neues Licht auf die Frage, warum "javac" nicht funktioniert! o_O Suche mal nach der "javac.exe", wenn die nicht vorhanden ist, hast du nur die Runtime Environment installiert, und nicht das Developement Kit. <_<
Wenn du sie wider Erwarten doch findest, hast du die Ordner anscheinend etwas missverständlich benannt - trage dann genau den Ordner in die "Path"-Variable ein, in dem sich die "javac.exe" befindet.
Der Classpath sollte den Ordner enthalten, in dem sich die Datei "rt.jar" enthält - und zwar den der neuesten Version, anscheinend hast du ja drei davon. o_O

DFYX
17.09.2006, 01:29
Ich muss dem Säuferaffen zustimmen. Vermutlich hast du JRE statt JDK installiert, überprüf das am besten mal.

Außerdem gibts noch ne Kleinigkeit an deinem Code. Ich bezweifel, dass du println einfach so aufrufen kannst. Versuch lieber System.out.println, nachdem Java streng objektorientiert ist und sich in der Regel keine Funktionen ohne Objekt aufrufen lassen (von static Funktionen mal abgesehen, aber dazu gehört println definitiv nicht)

drunken monkey
17.09.2006, 09:08
Außerdem gibts noch ne Kleinigkeit an deinem Code. Ich bezweifel, dass du println einfach so aufrufen kannst. Versuch lieber System.out.println, nachdem Java streng objektorientiert ist und sich in der Regel keine Funktionen ohne Objekt aufrufen lassen (von static Funktionen mal abgesehen, aber dazu gehört println definitiv nicht)
Ts, du unterschätzt ihn gewaltig. Das ist ja offensichtlich nicht der ganze Klassencode und irgendwo wird er einfach eine
public static void println (String text) {
System.out.println (text);
}definiert haben. Mache ich bei Konsolenprogrammen auch praktisch immer, erspart schließlich ganze elf Zeichen pro Textausgabe. ^^

Auf jeden Fall wäre es mal gut, zu erfahren, ob das Problem jetzt behoben ist, Aldi.

Aldinsys
17.09.2006, 10:45
Da ich endlich mal wieder auf meinem Account war,hatte ich die Möglichkeit alles auszuprobieren.

Ich habe es nochmal überprüft und es wurde nicht nur die RE entstalliert,sondern auch die Entwicklerumgebung( j2sdk1.4.2_12)
Seltsamerweise befindet sich nun parallel zu meinem Java Ordner (c:/ programme/java...) nun auch ein j2sdk1.4.2_12 ordner unter c:/.
In dem befindet sich auch die gesuchte "javac.exe"
Jetzt bin ich aber richtig verwirrt. Wie muss ich nun die Umgebungvariablen definieren?

DFYX
17.09.2006, 11:07
Installier den Kram am besten nochmal komplett neu, dann sollte alles automatisch richtig gesetzt werden.

drunken monkey
18.09.2006, 10:02
Seltsamerweise befindet sich nun parallel zu meinem Java Ordner (c:/ programme/java...) nun auch ein j2sdk1.4.2_12 ordner unter c:/.
In dem befindet sich auch die gesuchte "javac.exe"
Jetzt bin ich aber richtig verwirrt. Wie muss ich nun die Umgebungvariablen definieren?
Wie schon geschrieben, solltest du genau den Ordner in die Path-Variable schreiben, die die javac.exe enthält, also in dem Fall "C:\j2sdk1.4.2_12". Da's aber anscheinend eine alte Version ist (1.4.2), würde ich dir auch eine Neuinstallation empfehlen, alles runter und nochmal rauf. ;) Dann noch die Variavlen richtig setzen (ich glaube nämlich nicht, dass der das automatisch macht, bei mir zumindest nicht), wie oben beschrieben, und draufloskompilieren. ^^

Aldinsys
19.01.2007, 15:10
Ich wollte jetzt kein neues Thema aufmachen,aber ich habe ein Problem mit der Haskell Syntax. Ich habe den GHC installiert und kann auch es ging auch alles bis jetzt ohne Probleme. Nun aber habe ich keine Ahnung,wie ich das Programm kompilieren sollen.
Die Hilfsdokumente geben jeweils unterschiedliche Befehle an,etwa

$ ghc -o hallo hallo.hs

oder

% ghc -- make hallo.h -o hallo

Allerdings wird mir eine Fehlermeldung ausgegeben:
"parse error on input '$'

und auch die zweite Lösung funktioniert nicht.
Ich hatte eigentlich wie in der Installation empfohlen den PATH von GHC zu den Umgebungsvariablen hinzugefügt.

Ich glaube,dass es nur eine blöde Kleinigkeit ist,aber ich finde sie nicht.

MagicMagor
20.01.2007, 10:59
Wenn mich nicht alles täuscht ist das "$" nicht Bestandteil des Befehls. Dieses Zeichen wird in Dokumentationen oft verwendet um anzuzeigen, daß ein Befehl auf der Konsole ausgeführt werden soll.

Aldinsys
20.01.2007, 12:47
Wenn mich nicht alles täuscht ist das "$" nicht Bestandteil des Befehls. Dieses Zeichen wird in Dokumentationen oft verwendet um anzuzeigen, daß ein Befehl auf der Konsole ausgeführt werden soll.

Ich habe es auch ohne das $ ausgeführt,allerdings wird dann für jeden der anderen Begriffe ein Fehler ausgegeben

Not in scope: 'ghc'
Not in scope 'o'
[...]

bei Miranda,welches ich im Informatikunterricht benutze, konnte man einfach per /f Befehl kompilieren. Allerdings habe ich für Haskell keinen equivalenten Befehl finden können.

drunken monkey
20.01.2007, 20:19
Ich habe es auch ohne das $ ausgeführt,allerdings wird dann für jeden der anderen Begriffe ein Fehler ausgegeben

Not in scope: 'ghc'
Not in scope 'o'
[...]

bei Miranda,welches ich im Informatikunterricht benutze, konnte man einfach per /f Befehl kompilieren. Allerdings habe ich für Haskell keinen equivalenten Befehl finden können.
Vorweg, ich habe mir alles, was ich je von "Haskel" gehört habe, gerade ad hoc angeeignet und bin daher nicht gerade eine Koryphäe des Gebiets. <___<
Aber könnte es vielleicht sein, dass du den Befehl in der Haskel-Konsole eingegeben hast, statt in der Shell?
Also, hast du vor dem "ghc -o ..."-Zeugs erstmal "ghci" gestartet? Wenn ja, dann war das falsch, der Befehl ist für die Shell gedacht. Wenn nicht, bin ich - wenig verwunderlich - überfragt. ^^''

Aldinsys
20.01.2007, 20:40
Vorweg, ich habe mir alles, was ich je von "Haskel" gehört habe, gerade ad hoc angeeignet und bin daher nicht gerade eine Koryphäe des Gebiets. <___<
Aber könnte es vielleicht sein, dass du den Befehl in der Haskel-Konsole eingegeben hast, statt in der Shell?
Also, hast du vor dem "ghc -o ..."-Zeugs erstmal "ghci" gestartet? Wenn ja, dann war das falsch, der Befehl ist für die Shell gedacht. Wenn nicht, bin ich - wenig verwunderlich - überfragt. ^^''

Mensch,bin ich dämlich. Du hast total recht. Ich hatte die Haskell Konsole auf und habe das Beenden mit :quit vergessen vor der Compilierung.
Dieses doofe Windows macht mich ganz hacke. Ich überlege ernsthaft ob ich lieber zum Programmieren nicht auf diesen Rechner eine Linux Partition anlege... :rolleyes:

Auf jeden Fall möchte ich mich bei euch bedanken.
Jetzt programmiere ich noch ein paar kleinere Standardfunktionen,um mich mit der Syntax ein wenig bekannt zu machen.