Albrecht: Installation JDK 1.2 auf Windows XP

Hallo,

ich habe das JDK 1.2 (weil vorhanden auf CD) unter XP installiert und ich kann problemlos "java -version" eingeben und bekomme die Version zurück. Wenn ich den Compiler javac xyz.jav aufrufe, bekomme ich auch keinen Fehler aber leider auch keine xyz.class Datei. Ich habe dann eine Demo .class Datei kopiert und mit java aufgerufen. Wieder keine Fehlermeldung aber auch keine Ausgabe.
Was mache ich falsch ?

Gruss
Albrecht

  1. Hallo,
    sollte es nicht .java statt .jav heißen?

    Markus.

  2. hi,

    ich habe das JDK 1.2 (weil vorhanden auf CD) unter XP installiert und ich kann problemlos "java -version" eingeben und bekomme die Version zurück.

    Schön. Wenn ich dasselbe mache, erhalte ich:
      C:>java -version
      java version "1.5.0-beta"
      Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-beta-b32c)
      Java HotSpot(TM) Client VM (build 1.5.0-beta-b32c, mixed mode)
      C:>

    Deine Begründung "weil vorhanden auf CD" ist nicht sehr stichhaltig, da du dir ja alles herunterladen kannst, was du haben möchtest. Es kann ein kleines bißchen Zeit brauchen, da es sich um eine beträchtliche Datenmenge handelt, aber wozu hat man denn als moderner Mensch eine DSL-Flatrate? Vielleicht solltest du wenigstens auf 1.4 updaten.

    Wenn ich den Compiler javac xyz.jav aufrufe

    Es ist schwer zu sehen, ob du dich jetzt nur hier im posting vertippt hast. Du mußt natürlich in das Verzeichnis wechseln, in dem deine *.java-Dateien liegen, und dann lautet der korrekte Befehl
      javac xyz.java

    • das "a" hintendran war jetzt ein Tippfehler im posting oder tippst du das auch auf der Konsole (Eingabeaufforderung) nicht mit?

    Ich habe dann eine Demo .class Datei kopiert und mit java aufgerufen. Wieder keine Fehlermeldung aber auch keine Ausgabe.
    Was mache ich falsch?

    Schwer zu sagen, da du schon angeben müßtest, was diese "demo" tun soll. Vielleicht ist es wieder bloß deine Schreibweise oder ein Tippfehler, weil ein Leerzeichen einfach nicht in den Dateinamen gehört. Ich habe beispielsweise ein kleines Applet hier, das, wenn ich es über eine Webseite aufrufe, auch brav eine fraktale Grafik zeichnet. Rufe ich es aber auf der Konsole auf, kommt folgendes:
      D:\java>java julia.class
      Exception in thread "main" java.lang.NoClassDefFoundError: julia/class
    Das ist in Ordnung, ich weiß ja, wie das zu deuten ist.

    Und es gibt immer die Möglichkeit, sich mit genaueren Fehlerprotokollen zu versorgen (->Verwaltung ->Ereignisanzeige)

    Grüße aus Berlin

    Christoph S.

    1. Servus,

      deine expermientierfreude in aller Ehre.
      Wenn jedoch seine Demo von der gleichen CD stammt, sollte er es vieleicht doch eher vor ziehen, die JDK 1.2 zu installieren.
      Denn seit damals hat ich vieles geaendert. Dass sich dadurch ggf. der Code auf einer JDK 1.5 nicht mehr bauen lässt ist ziemlich warscheinlich.

      Oder kann die JDK 1.5 ebenfalls in einem alten Calssic mode kompilieren?

      Gruss Matze

      1. Hallo MatzeA,

        Oder kann die JDK 1.5 ebenfalls in einem alten Calssic mode kompilieren?

        Der Java 1.5 Compiler erzeugt standardmäßig 1.4 oder sogar noch älteren Bytecode (ich bin nicht sicher, ob die Unterstüzung von assert Anweisungen mittlerweile standardmäßig aktiviert ist)
        Jedenfalls muss man per Komandozeilenparameter explizit angeben, dass man 1.5 Sourcen kompilieren und damit Bytecode erzeugen will, der auf älteren VMs nicht mehr lauffähig ist.
        Bisher war es noch immer so, dass die JavaCompiler auch älteren Bytecode erzeugen konnten.
        Allerdings hat die 1.5 noch einige Bugs die sich bei größeren Programmen durchaus mal durch VM-Abstürze bemerkbar machen. Von daher sollte man Vorläufig doch noch mit dem 1.4rer JDK vorlieb nehemen, wenn man nicht gerade experimentieren will.

        Grüße

        Daniel

        1. Servus,

          Der Java 1.5 Compiler erzeugt standardmäßig 1.4 oder sogar noch älteren Bytecode (ich bin nicht sicher, ob die Unterstüzung von assert Anweisungen mittlerweile standardmäßig aktiviert ist)

          Je nachdem wie man baut. Mit Ant muss man dem Compiler schon sehr genau sagen dass man was "altes" haben will.

          Jedenfalls muss man per Komandozeilenparameter explizit angeben, dass man 1.5 Sourcen kompilieren und damit Bytecode erzeugen will, der auf älteren VMs nicht mehr lauffähig ist.
          Bisher war es noch immer so, dass die JavaCompiler auch älteren Bytecode erzeugen konnten.

          Nun ja, aber leider nicht x belibig alten Code.
          die SDK 1.3.1 konnte meiens wissens nach noch 1.2.2 Code erzeugen jedoch keinen 1.1.x

          Wie sich das mit 1.4 sowie 1.5 verhält weiss ich auch nicht so genau.
          Allerdings betreibe ich die eine entsprechende SDK exakt für eine Java Version. Entwickle also auf den dafür vorgesehenen oder vorhandenen Features.

          Allerdings hat die 1.5 noch einige Bugs die sich bei größeren Programmen durchaus mal durch VM-Abstürze bemerkbar machen. Von daher sollte man Vorläufig doch noch mit dem 1.4rer JDK vorlieb nehemen, wenn man nicht gerade experimentieren will.

          Produktiv würde ich damit noch nicht entwicklen. Zudem ja leider sun so oder so etwas problematisch ist. Jrockit soll da schon deutich stabiler sein.

          Gruss Matze

    2. Hallo,

      danke für die Antwort, aber ich bin noch nicht weiter.

      Die Versionsabfrage fuinktioniert analog zu Deiner (mit Version 1.2.0). Ich bin unmodern und per ISDN 50 MB herunterzuladen dauert, daher würde ich gerne 1.2 zum Laufen bekommen. Die Demo stammte von einer CD und sollte (wen wunderts) "Hello world" ausgeben. Selbst wenn ich in die java Datei sinnnloses Zeug schreibe bekomme ich beim kompilieren keinen Fehler. Die Software verhält sich als würde sie gar nichts tun (außer die Versionsabfrage).

      Gruß
      Albrecht

      1. Servus,

        Du startest das Demo aber schon nach diesem Schema?

        java demo.class

        ??

        Gruss Matze

        1. Hallo MatzeA,

          Du startest das Demo aber schon nach diesem Schema?

          java demo.class

          Du meinst sicher, das Schema
          java demo

          Grüße

          Daniel

          1. Servus,

            nein Daniel Ich meinte ganz klar demo.class.
            Ich hab nur vergessen eine winzigen Parameter mit zu geben.

            Gruss Matze

  3. Hallo,

    das JDK ist der 3D-Aufsatz zu Java, du must es in das selbe Verzeichnis installieren wo du dein Java SDK installiert hast.
    Desweiteren empfehle ich dir eine IDE zu nutzen, die zeigen eher Fehler an.
    Als meine persönliche Empfehlung nenne ich hier mal eclipse (http://www.eclispe.org).

    MfG
    Christian

    1. Hallo Christian,

      das JDK ist der 3D-Aufsatz zu Java, du must es in das selbe Verzeichnis installieren wo du dein Java SDK installiert hast.

      den Satz habe ich gerade nem Kollegen gezeigt. Er zeigte die gleiche Reaktion wie ich, nämlich die Stirn in Falten und "Hä?". Zur Erklärung, warum wir so reagieren: JDK ist die Abkürzung der Abkürzung Java SDK. Es ist keine 3D-Erweiterung, sondern das SDK an sich.

      Gruß,
      Martin

      1. Servus Martin und Christian,

        SDK steht für Software Development Kid
        JDK steht für Java Development Kid.

        Warum Sun die Namengebung irgendwann mal gewechselt hat weiss vermutlich niemand ausser dem der es getan hat.

        Ergo SDK JDK ist in diesem Zusammenhang wohl das gleiche.

        Gruss Matze

        1. Servus Matze,

          SDK steht für Software Development Kid
          JDK steht für Java Development Kid.

          Kid heißt Kind auf deutsch :-)

          Gruß,
          Martin

          1. Servus,

            Kid heißt Kind auf deutsch :-)

            Ich meinte natürlich KIT wie Ausrüstung oder das sprechende Auto...

            Gruss Matze

            1. Pfüarti (oder so),

              Ich meinte natürlich KIT wie Ausrüstung oder das sprechende Auto...

              SCNR :-)

              Der einzige Schauspieler der Serie Knight Rider, das sprechende Auto, schreibt sich K.I.T.T.

              Gruß,
              Martin

      2. Hallo Martin,

        das SDK ist bei mir 92,7 MB groß und das JDK gerade mal 6,42 MB.
        Das SDK hat bei mir die Version 1.4.2.04  und das JDK hat Version 1.4 und heist "Java 3D 1.3.1 (OpenGL) SDK". Desshalb ist da dann wohl doch ein kleiner Unterschied. Und ich muß immer erst das SDK und dann das JDK installieren, sonst funktionieren meine 3D-Spiele nicht.

        MfG
        Christian

        1. Servus,

          mich würde, nach einer sun weiten Recherche interesieren, wie Du auf die Abkürzung JDK im Zusammenhang mit Java 3D kommst.
          Denn in der ganzen Java Welt spricht man bei JDK nicht von Java 3D.

          Hast Du da selber was abgekürzt??
          Im pbrigern handelt es sich hierbei um eine SDK erweiterung, was bei Sun ebenfalls als SDK bezeichnet wird.

          Gruss Matze

        2. Hallo Christian,

          das SDK ist bei mir 92,7 MB groß und das JDK gerade mal 6,42 MB.

          was du gerade als SDK bezeichnest, damit meinst du das Java 2 SDK, Standard Edition, landläufig (auch bei Sun) als JDK bezeichnet. Was du als JDK bezeichnest, ist die Java 3D API, eine Erweiterung des JDK.

          Das ist ungefähr so als ob du von java.io.PrintStream redest, aber java.io.PrintWriter meinst. Keiner wird verstehen was du meinst.

          Gruß,
          Martin