Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

hallo,

ich habe das prob,dass bei mir unter vista der befehl javac zum kompilieren einer bytecode-datei nicht funzelt, wohl funktioniert aber der befehl java mit dem ich .class dateien ausführen kann. Kann mir vlt. jemand verraten, wie ich das ändern kann?

LG

ah, ok habs selbst hinbekommen :D

ich hatte nen falschen PATH, außerdem habe ich die eingabeaufforderung vom falschen ordner aus gestartet. da passte einfach nichts. nachdem ich ins richtige verzeichnis gewechselt war, ging es.

Die Frage ist nur, warum der java befehl dennoch funktionierte, aber nicht der javac befehl, aber egal... ;)

Weshalb die java.exe gefunden wird und die javac.exe nicht ist recht einfach deine Umgebungsvariablen zeigen nicht in das bin Verzeichnis deiner jdk Installation sondern ins bin Verzeichnis des mit ausgelieferten jre. Da liegt aber keine javac Datei.

Also:


jdk1.6.0_04

 |-bin <- hier sollte die Umgebungsvariablen hin zeigen

 |  |-java.exe

 |  |-javac.exe

 |

 |-jre

    |-bin

       |-java.exe <- diese Datei wird über die Umgebungsvariablen gefunden

hallo,

nochmal ne andere frage:

warum funktioniert die if-abfrage bei tastatur-eingaben nicht?

ich lasse per Konsole einen String einlesen, z.B. "j"

das programm liest den String ein und führt die schleife so lange aus, bis die variable weiter != "j", nach jedem durchlauf gibts ne abfrage.

Alles stimtm bei mir, denn wenn ich den Datentyp auf char setze, funktioniert es, aber nicht mit String. WEnn ich die variable weiter ausgebe, kommt "j" heraus, trotzdem wird das Programm beendet.

[...]

weiter=Console.readChar();


   }  while(weiter=='j');

// so funktioniert das Programm!

// so nicht

[...]

weiter=Console.readString();


   }  while(weiter=="j"); // aber, wenn man weiter ausgibt => "j" ????

das istd er teil, um den es geht. WEnn ich die einfachen Anführungszeichen gegen doppelte austausche und die String-Methode verwende also Console.readString und dann ausgebe, so erhalte ich ebenfalls "j". aber trotzdem führt untere abfrage immer zu false, wenn weiter vom Typ String ist.

Warum klappt das nicht, obwohl die Variable den korrekten Inhalt hat?

Weil du bei Objekten mit dem "==" nicht den Inhalt, sondern die Referenzen von Objekten vergleichst.

Um zu überprüfen ob dein String den Inhalt "j" hat, musst du die equals-Methode deines Strings benutzen.

In dem Wege würde ich dir aber gleich mal vorschlagen dir die elementaren Grundlagen von Java durch ein Buch oder online Tutorial anzueignen.

Im Thread ganz oben in diesem Forum findest du dazu nen paar gute Links.

ach stimmt ja, String ist ja ein Objekt! naja, die elemtaren Grundlagen kenne ich, syntax usw. auch,

habe ja auch shcon in mehreren Progsprachen programmiert (DElphi, Python), ein büchlein habe ich auch gelesen, nur manches eben übersrungen, weil ich das schon von anderen Sprachen her kannte.

nur eben bisher mit IDE, aber der Prof. will , das wir erstmal alles von Hand machen. Aber stimmt, String ist kein Typ, sondern OBjekt... danke :)

oh man, Ich suche den Fehler immer beim Programm, nicht bei mir :D

Bearbeitet von danvan

  • 2 Wochen später...
Weshalb die java.exe gefunden wird und die javac.exe nicht ist recht einfach deine Umgebungsvariablen zeigen nicht in das bin Verzeichnis deiner jdk Installation sondern ins bin Verzeichnis des mit ausgelieferten jre. Da liegt aber keine javac Datei.

Also:


jdk1.6.0_04

 |-bin <- hier sollte die Umgebungsvariablen hin zeigen

 |  |-java.exe

 |  |-javac.exe

 |

 |-jre

    |-bin

       |-java.exe <- diese Datei wird über die Umgebungsvariablen gefunden

Meine Umgebungsvariablen zeigen auf folgende Verzeichnisse:

JAVA_HOME: [...]\jdk1.5.0_11

ANT: [...]ant\apache-ant-1.7.1

Path: ...;%ANT_HOME%\bin;%JAVA_HOME%\bin;

Ich kann jedoch in der Konsole nur "java" überall ausführen. Bei "javac" und "ant" kann ich es nur im jeweiligen Stammverzeichnis aufrufen.

Weiss jemand woran das liegen kann?

Änderungen an der PATH-Variable stehen dir in manchen Windows-Versionen - so glaube ich mal bemerkt zu haben - erst nach einem Neustart zur Verfügung. Hast du das schon versucht?

Ansonsten redest du schon von der Systemvariable "Path" und nicht von einer Benutzervariable die du unter gleichen Namen erstellt hast? Die Pfade sind auch nur durch ein ";" ohne Leerzeichen dazwischen getrennt?

Im übrigen: Deine Benutzervariable heißt "ANT" und im Path schreibst du "%ANT_HOME%". Eventuell gibts da einen Fehler, weil die Variable fehlt und dann wird JAVA_HOME auch nicht mehr mit initialisiert.

Bearbeitet von speedi

Änderungen an der PATH-Variable stehen dir in manchen Windows-Versionen - so glaube ich mal bemerkt zu haben - erst nach einem Neustart zur Verfügung. Hast du das schon versucht?

Ansonsten redest du schon von der Systemvariable "Path" und nicht von einer Benutzervariable die du unter gleichen Namen erstellt hast? Die Pfade sind auch nur durch ein ";" ohne Leerzeichen dazwischen getrennt?

Im übrigen: Deine Benutzervariable heißt "ANT" und im Path schreibst du "%ANT_HOME%". Eventuell gibts da einen Fehler, weil die Variable fehlt und dann wird JAVA_HOME auch nicht mehr mit initialisiert.

Hey, funktioniert jetzt. Variablen waren richtig, habe es nur hier falsch geschrieben. Wahrscheinlich lag es am Neustart.

  • 1 Jahr später...

Hallo Leute,

ich habe ein Problem mit Javac...

meine umwicklungsumgebung ist "med" (mister ed) und ich programmiere mit java. Nun muss ich den path für den java compiler angeben.javac ist in dem ordner "bin" enthalten,allerdings gibt der compiler mir immer eine fehlermeldung aus,obwohl der path richtig ist:

javac: invalid flag: C:\Dokumente

Usage: javac <options> <source files>

use -help for a list of possible options

***Process ""C:\Programme\Java\jdk1.6.0_17\bin\javac"" terminated. Return code=2

Danke für eure Hilfe :)

Danke für die Anwort :)

Leider ist es aber nicht die Lösung. Die Dateien lassen sich ohne Probleme laden und öffnen.

Nur compilieren lässt sich kein Quellcode...es wird lediglich die oben genannte Fehlermeldung in der console ausgegeben, wenn ich compilieren möchte!

Google hat auch nichts hilfreiches.:(

Bitte um weitere Hilfe :)

Das kommt wahrscheinlich durch die Leerzeichen im Pfad ("C:\Dokumente und Einstellungen\..."), in dem deine .java-Dateien liegen.

Schiebe deine Java/Projektdateien in einen Pfad ohne Leerzeichen.

Danke!!!

Das Problem waren die Leerzeichen bei "Dokumente und Einstellungen"!!!

hab nun einen Pfad angegebn ohne Leerzeichen und es funktioniert!

Vielen Dank euch beiden für eure Bemühungen! :uli

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.