tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
12
ZUGRIFFE
2595
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Mikma Mikma ist offline Grünschnabel
    Registriert seit
    Oct 2003
    Ort
    Bielefeld
    Beiträge
    1
    Hallo Forum,

    ich bin neu in der Java-Programmierung und habe Probleme mit dem jar tool.

    Hier beschreibe ich mal mein Vorgehen.
    Vielleicht fällt jemanden auf, was ich falsch mache.

    Über dos gehe ich in das Verzeichnis wo die benötigten Class-dateien liegen.

    jar cvf Test.jar Application1.class Frame1.class

    Nun wird ja die .jar Datei erzeugt.
    Im Datei-Explorer gebe ich nun an das alle .jar dateien mit dem jdk-Programm java.exe geöffnet werden sollen.

    Wenn ich nun einen Doppelklick auf die .jar Datei mache, geht aber nur kurz ein Dos-Fenster auf und sofort wieder zu.

    Das wars. Ihr müsst zugeben, das ich damit niemanden so richtig beeindrucken kann, oder?

    Ich weiss, das man da auch noch irgendwas mit dem Manifest machen kann, aber so richtig weiss ich nicht was meine Doku(Java ist auch eine Insel) mir darüber sagen will. Zudem da nur ein Beispielfür das JDK 1.1 ist.


    Wäre toll wenn mir noch jemand helfen könnte?

    Gruss
    Mikma
     

  2. #2
    Registriert seit
    Jun 2002
    Ort
    Saarbrücken (Saarland)
    Beiträge
    9.886
    Blog-Einträge
    29
    Servus!

    Um ein ausführbares Jar zu erstellen musst du wie du schon richtig gelesen hast erst noch eine Manifest datei erstellen ...

    Code :
    1
    2
    3
    4
    5
    6
    
    public class HalloTest{
        public HalloTest(){}
        public static void main(String[] args){
            System.out.println("Hallo Welt!");
        }
    }

    Dann :

    1) javac HalloTest.java

    2) java HalloTest

    3) edit Manifest.txt

    Inhalt Manifest.txt ->

    Main-Class: HalloTest


    Denke an das Leerzeichen nach dem Doppelpunkt ...

    4) jar -cvfm Test.jar Manifest.txt HalloTest.class

    5) java -jar Test.jar

    Ausgabe:
    Hallo Welt!


    Also ich finde Java Insel Beispiel Klasse!
    http://www.galileocomputing.de/openb...rchivformatJar

    Gruß Tom
     
    Java rocks!
    How to become a good Java Programmer?
    Does IT in Java and .Net
    The only valid measurement of code quality: WTFs / minute
    Blog
    Xing
    Twitter

  3. #3
    jean luc jean luc ist offline Mitglied Silber
    Registriert seit
    Nov 2003
    Ort
    Hamburg
    Beiträge
    68
    Hi,
    ich habe das mal mit meheren Dateien probiert, dann sagt mit Windows immer:
    Could not find the main class. Program will exit.

    Habe aber in der Manifest Datei die entsprechende Datei angegeben.
    Was mache ich falsch?
    SIMON
     

  4. #4
    Registriert seit
    Jun 2002
    Ort
    Saarbrücken (Saarland)
    Beiträge
    9.886
    Blog-Einträge
    29
    Servus!

    Versuchs mal mit nem anderen Editor als Notepad ...
    es kann sein, dass innerhalb einer Manifest Datei kein \r\n sondern
    nur \n stehen darf ...

    Gruß Tom
     
    Java rocks!
    How to become a good Java Programmer?
    Does IT in Java and .Net
    The only valid measurement of code quality: WTFs / minute
    Blog
    Xing
    Twitter

  5. #5
    jorgeHX jorgeHX ist offline Mitglied Brokat
    Registriert seit
    Jun 2004
    Beiträge
    253
    Hallo Tom,
    ich habe das so gemacht. Allerdings erscheint mir jetzt immer die Fehlermeldung "Failed to load Main-Class manifest attribute from..." wenn ich den Befehl java -jar Start.jar ausführe

    in meiner Manifestdatei steht: Main-Class: Uni-VersionJAR/volleyball_Trainer/VB_Start
    VB_Start ist die Startklasse. Alle Dateien inklusive Manifestdatei liegen im Ordner Uni-VersionJAR

    Was mache ich denn falsch?
     

  6. #6
    Registriert seit
    Jun 2002
    Ort
    Saarbrücken (Saarland)
    Beiträge
    9.886
    Blog-Einträge
    29
    Hallo!

    Alles was im Main-Class: Attribut angegeben wird wird als voll Qualifizierter Klassenname interpretiert. Also ein Eintrag wie
    Main-Class: foo.bar.system.core.Main
    Sagt aus, dass die Klasse mit der main Methode Main heißt und im package
    foo.bar.system.core liegt.
    Also sucht die Java-Laufzeit im jar-Root nach dem Verzeichnis foo\bar\system\core und dort nach der Klasse Main die dann auch die passende package-Deklaration (foo.bar.system.core) aufweisen.

    Gruß Tom
     
    Java rocks!
    How to become a good Java Programmer?
    Does IT in Java and .Net
    The only valid measurement of code quality: WTFs / minute
    Blog
    Xing
    Twitter

  7. #7
    jorgeHX jorgeHX ist offline Mitglied Brokat
    Registriert seit
    Jun 2004
    Beiträge
    253
    Hallo Tom,
    bei mir tritt jetzt der folgende Fehler auf. Ich weiß nicht woran das liegt. Außerdem muss ich noch Bibliotheken hinzufügen. Ich hoffe, dass das nicht so problematisch ist.
    Danke

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    
    C:\Programme\Java\jdk1.5.0\bin>java -jar Easy2Coach.jar
    Exception in thread "main" java.lang.NoClassDefFoundError: Uni-VersionJAR/volley
    ball_trainer/VB_Start (wrong name: volleyball_trainer/VB_Start)
            at java.lang.ClassLoader.defineClass1(Native Method)
            at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
            at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:12
    4)
            at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
            at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
            at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
            at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
            at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
     

  8. #8
    Registriert seit
    Jun 2002
    Ort
    Saarbrücken (Saarland)
    Beiträge
    9.886
    Blog-Einträge
    29
    Hallo!

    Hast du in der Klasse VB_Start im Quellcode oben auch
    package Uni-VersionJAR.volleyball_trainer;
    stehen? -> Kann nicht sein, da ein "-" in einem package-Namen nicht erlaubt ist.
    Weiterhin MUSST du einmal "enter" nach dem dem Main-Class: Attributwert drücken.
    Wie gesagt alles was nach dem Main-Class: Attribut kommt gehört zum voll qualifizierten Klassennamen. Weitere Bibliotheken kannst du mit dem Class-Path Attribut angeben.
    Näheres dazu findest du hier:
    http://java.sun.com/j2se/1.5.0/docs/...jar/index.html

    Gruß Tom
    Geändert von Thomas Darimont (16.01.05 um 18:31 Uhr)
     
    Java rocks!
    How to become a good Java Programmer?
    Does IT in Java and .Net
    The only valid measurement of code quality: WTFs / minute
    Blog
    Xing
    Twitter

  9. #9
    jorgeHX jorgeHX ist offline Mitglied Brokat
    Registriert seit
    Jun 2004
    Beiträge
    253
    Guten Morgen,
    also ich erstelle mir eine Jar-Datei mit deinem oben genannte Befehlen:

    jar -cvfm Test.jar Manifest.txt HalloTest.class

    Anschließend sehe ich aber, dass eine Rar-Datei gepackt wurde Ich dachte, dass ich eine Datei erhalte, die ich mit Doppelklick starten kann?
    Mache ich noch immer etwas falsch?
    Danke

    Wenn ich das Programm in der Dos-Box mit deinem Befehl:
    java -jar Test.jar
    starte, so läuft das Prog einwandfrei
     

  10. #10
    jorgeHX jorgeHX ist offline Mitglied Brokat
    Registriert seit
    Jun 2004
    Beiträge
    253
    Also, dass mit der jar-Datei habe ich soeben gelöst....
    Jetzt ist bei mir das Problem, dass ich noch eigene Bibliothekspfade angeben muss. Wo schreibe ich die denn hin? In die Manifest-Datei?

    Also in meiner bat-Datei gebe ich den Pfad immer so an:

    cd bin
    start javaw -Xmx256M -cp .;ChartDirector.jar;chartdir.lic;jlfgr-1_0.jar;PrintPreview.jar volleyball_trainer.VB_Start

    Jetzt will ich ChartDirector.jar;chartdir.lic;jlfgr-1_0.jar;PrintPreview.jar irgendwie auch bei meiner jar-Datei hinzufügen.

    Weiß da jemand Rat?
    Tausend Dank
     

  11. #11
    Avatar von Bernd1984
    Bernd1984 Bernd1984 ist offline Kastenbrot
    Registriert seit
    Oct 2004
    Beiträge
    414
    Hallo,

    die Pfade zu den Bibliotheken gibst du in der Batch-Datei mit an.

    z.B.
    start javaw -Xmx256M -cp .;D:\lib\ChartDirector.jar;D:\lib\chartdir.lic;D:\lib\jlfgr-1_0.jar;D:\lib\PrintPreview.jar volleyball_trainer.VB_Start

    Du kannst auch relative Pfade benutzten.
     
    Gruss Bernd
    Zitat Zitat von mAu
    * Unformatierten Quellcode schaue ich mir _nicht_ an!
    * Sollte ich euch bei einer Frage weitergeholfen haben, würde ich mich über eine positive Bewertung freuen.
    * Bitte die Netiquette beachten.
    * Vergesst nicht, beantwortete Fragen als erledigt zu markieren!

  12. #12
    jorgeHX jorgeHX ist offline Mitglied Brokat
    Registriert seit
    Jun 2004
    Beiträge
    253
    Morgen,
    also in der Batch-Datei weiß ich wie das geht. Ich brauche die Hilfe für meine Jar-Datei....
     

  13. #13
    jorgeHX jorgeHX ist offline Mitglied Brokat
    Registriert seit
    Jun 2004
    Beiträge
    253
    hat denn niemand eine Antwort? Wäre super dringend. Danke
     

Ähnliche Themen

  1. Probleme bei Mini tool TextToExcel
    Von Tis im Forum Java
    Antworten: 8
    Letzter Beitrag: 09.09.10, 12:31
  2. MD5 Tool - Copy to Clipboard Probleme
    Von MedRamBO im Forum C/C++
    Antworten: 2
    Letzter Beitrag: 31.08.08, 15:30
  3. Probleme mit Move/Scale/Rotate Tool
    Von michitschi im Forum Autodesk Maya (ehemals Alias)
    Antworten: 2
    Letzter Beitrag: 19.10.07, 20:10
  4. "Rotate tool" macht Probleme
    Von grashupfa im Forum Autodesk Maya (ehemals Alias)
    Antworten: 1
    Letzter Beitrag: 26.07.05, 12:07
  5. UML-Tool
    Von lambda im Forum Java
    Antworten: 7
    Letzter Beitrag: 30.03.04, 09:16