Seite 1 von 2 12 LetzteLetzte
ERLEDIGT
JA
ANTWORTEN
15
ZUGRIFFE
55637
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
  1. #1
    flashray ist offline Mitglied Rubin
    Registriert seit
    Sep 2005
    Ort
    Mannheim
    Beiträge
    1.326
    Hallo Freunde,

    ich habe heute mal die Export Funktion von eclipse ausprobiert. Allerdings konnte ich keine lauffähife jar erstellen.

    Wie kann es sein obwohl ich beim Exportieren, die Mainclass auswähle, die jar folgende Fehlermeldung gibt?
    "could not find main class"

    Gibt es da noch irgendetwas besonderes worauf man achten sollte?

    Vg Erdal
     

  2. #2
    Avatar von con-f-use
    con-f-use ist offline Mitglied Diamant
    Registriert seit
    Oct 2004
    Ort
    München / Innsbruck
    Beiträge
    2.262
    Bin ebenfalls daran verzweifelt mit Eclipse ein Lauffägis jar zu produzieren.

    Hab dann die Geduld verloren und mir dieses kleine Programm gemacht. Es macht alle jar im gleichen Verzeichnis lauffähig und hängt ein ".r" an den Dateinamen an, wenn es geklappt hat. Damit es klappt müssen die jar den gleichen Dateinamen, wie ihre Mainclass haben. Ist zwar nicht die Lösung deines Problems, aber vielleicht erspart es dir ein klein wenig Arbeit.
    Angehängte Dateien Angehängte Dateien
     
    Wäre der Satz "Ich möchte auf meinem Fisch-und-Chips-Schild einen Bindestrich zwischen die Wörter Fisch und und und und und Chips machen" nicht deutlicher, wenn Anführungszeichen vor Fisch und zwischen Fisch und und und und und und und und und und und und und und und und und und und und und Chips und auch nach Chips wären?

    | Meine Homepage: Forschung, unethische | Meine Seite mit viel verlangten Javascrits |

    -----------

    Zufriedenstellende Beiträge bitte als erledigt markieren!


  3. #3
    Registriert seit
    Jun 2002
    Ort
    Saarbrücken (Saarland)
    Beiträge
    10.222
    Hallo!

    Mit Eclipse ein ausführbares Jar File zu erstellen ist ganz einfach:
    Hier mal exmplarisch anhand eines kleinen Beispiels unter Eclipse 3.2RC1:
    (Siehe Projekt im Anhang)

    Code java:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    
    /**
     * 
     */
    package de.tutorials.executableJarEample;
     
    import javax.swing.JFrame;
     
    /**
     * @author Tom
     *
     */
    public class Main {
     
        /**
         * @param args
         */
        public static void main(String[] args) {
            JFrame frame = new JFrame("Main");
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            frame.pack();
            frame.setVisible(true);
        }
    }

    Rechte Maustaste aufs Projekt -> Export -> Java -> Jar File -> Next
    Gewünschtes Projekt selektieren
    Export generated class files and resources selektieren
    Als export destination den Zielort für das jar angeben:
    Z.Bsp.: c:\executableJar.jar
    Compress contents of the jar selektieren
    -> next
    -> next
    Generate Manifest File selektieren (oder Use existing manifest from workspace, wenn eines manuell erstellt wurde)
    Select the class of the application entry point:
    -> Browse -> de.tutorials.executableJarEample.Main
    -> Finish

    Nun sollte auf eurem Laufwerk C eine ausführbare jar Datei mit dem Namen executableJar.jar existieren.

    In älteren Eclipse Versionen funktioniert das Erstellen von ausführbaren Jars analog.

    Gruß Tom
    Angehängte Dateien Angehängte Dateien
    Vereth bedankt sich. 
    Du kommst aus dem Saarland oder Umgebung? Du hast Interesse an Java-Technologie Themen? Then let's Meetup!

    Java rocks! http://www.jugsaar.de

    Does IT in Java and .Net
    Xing
    Twitter

  4. #4
    Avatar von con-f-use
    con-f-use ist offline Mitglied Diamant
    Registriert seit
    Oct 2004
    Ort
    München / Innsbruck
    Beiträge
    2.262
    Hmm, okay, wenn man nur den Finish- und nie den Next-Botton sieht, ist es natürlich schwierig etwas lauffähiges mit Eclipse zu erstellen. Wäre mal eine Iteressante Studie wie sich bei "Computer-Kindern" die Wahrnehmung verändert.

    Mir hast du auf jeden Fall schonmal damit weitergeholfen. Danke!
     
    Wäre der Satz "Ich möchte auf meinem Fisch-und-Chips-Schild einen Bindestrich zwischen die Wörter Fisch und und und und und Chips machen" nicht deutlicher, wenn Anführungszeichen vor Fisch und zwischen Fisch und und und und und und und und und und und und und und und und und und und und und Chips und auch nach Chips wären?

    | Meine Homepage: Forschung, unethische | Meine Seite mit viel verlangten Javascrits |

    -----------

    Zufriedenstellende Beiträge bitte als erledigt markieren!


  5. #5
    flashray ist offline Mitglied Rubin
    Registriert seit
    Sep 2005
    Ort
    Mannheim
    Beiträge
    1.326
    Hallo Tom,

    in der generierten Manifestdatei fehlen bei mir die Classpath-Einträge. Kann man das auch irgendwie einstellen, oder muss man bei Bedarf an Classpath einträgen im Manifest, die Manifestdatei selbst erstellen.

    @Confuse
    dank dir für dein Tool, wenns mit Eclipse klappt ists noch besser.

    Vg Erdal
     

  6. #6
    flashray ist offline Mitglied Rubin
    Registriert seit
    Sep 2005
    Ort
    Mannheim
    Beiträge
    1.326
    Hallo,

    habe hier nachgelesen das das mit dem einfachen Export nur funktioniert, wenn keine zusätzliches libraries eingebunden werden.

    http://www.torsten-horn.de/techdocs/...Export-als-jar

    D.h. jetzt erstmal nur class-Dateien in ein jar-Köfferchen packen.
    Die restlichen libraries und resourcen in einem eigenen Ordner im selben Verzeichnis wie die jar unterbringen.


    Vg Erdal
     

  7. #7
    flashray ist offline Mitglied Rubin
    Registriert seit
    Sep 2005
    Ort
    Mannheim
    Beiträge
    1.326
    Hallo,

    bei mir funktioniert es jetzt, hab die Manifestdatei selbst erstellt, und das classpath eingetragen. Tue ich dann diesen, statt dem generierten benutzen ist die Welt in Ordnung.

    Vg Erdal
     

  8. #8
    DarthShader ist offline Mitglied Platin
    Registriert seit
    May 2004
    Beiträge
    684
    Zitat Zitat von flashray Beitrag anzeigen
    Hallo,
    bei mir funktioniert es jetzt, hab die Manifestdatei selbst erstellt, und das classpath eingetragen. Tue ich dann diesen, statt dem generierten benutzen ist die Welt in Ordnung.
    Vg Erdal
    Hallo flashray,

    ich weiß, dass der Thread schon ziemlich alt ist, aber ich habe dasselbe Problem: ein Projekt, welches von einer weiteren .jar Bibliothek abhängt.

    Wie muss denn die manifest Datei aussehen, damit ich mein gesamtes Projekt inkl. abhängigen jar Libs mit in die Jar Datei aufnehmen kann?

    Danke für Deine Hilfe
     

  9. #9
    inter ist offline Mitglied Bronze
    Registriert seit
    May 2007
    Beiträge
    26
    Zitat Zitat von DarthShader Beitrag anzeigen
    [..]

    Wie muss denn die manifest Datei aussehen, damit ich mein gesamtes Projekt inkl. abhängigen jar Libs mit in die Jar Datei aufnehmen kann?

    [..]
    Hallo Shader,

    also hier (http://java.sun.com/docs/books/tutor...r/downman.html) steht, dass es nicht ohne weiteres möglich ist jar-Files in jar-Files zu packen. Allerdings kannst Du den Inhalt von jar-Files nutzen, die im selben Verzeichnis liegen wie Dein ausführbares. Wie das geht steht da auch.

    Falls Du aber nur ein jar-File als Endprodukt brauchst, dann schau dir mal das "Fat Jar" Eclipse Plugin an (http://fjep.sourceforge.net/).
     

  10. #10
    Avatar von ishino
    ishino ist offline Mitglied Gold
    Registriert seit
    Dec 2005
    Beiträge
    205
    Eine Alternative zum eingebauten JAR-Export:

    http://fjep.sourceforge.net/

    EDIT: Das Posting des Vorgängers bis zum Ende zu lesen hilft Spam zu vermeiden. :-}
     
    “Some may never live, but the crazy never die”

  11. #11
    mxm
    mxm ist offline Mitglied
    Registriert seit
    Mar 2007
    Beiträge
    16
    Hallo,

    ich habe ein ähnliches Problem mit meiner ausführbaren Jar. Bisher habe ich immer die göbste Methode benutzt um externe Jars in meiner ausführbaren Jar verfügbar zu machen, indem ich die benötigten Jars ausgepackt habe und die class-Dateien in der Ordner-Struktur per Archive-Programm einfach hinzugefügt habe.

    Das klappte immer hervorragend. Nun aber wird auf einmal eine der class Dateien nicht mehr gefunden (NoClassDefFoundError), obwohl ich sie meiner generierten Jar sehen kann und sie in dem richtigen Ordner liegt.

    Hat jemand eine Idee woran es liegen kann oder wo mein Fehler liegt?

    Grüße,
    mxm
     

  12. #12
    Kulabac ist offline Mitglied Gold
    Registriert seit
    Apr 2007
    Beiträge
    181
    Hmm, pack deine Jar-Datei doch mal aus und schau was dann passiert, also ob er die Klasse immernoch nicht findet. Und was du da siehst ist doch hoffentlich die .class-Datei und nicht .java

    Ansonsten: Beispielsweise im Prosyst-OSGi-Framework (da sind die einzelnen Bundles natürlich auch alles Jar-Dateien, die ausgeführt werden), bedeutet eine NoClassDefFoundError-Exception nicht, dass die Klasse nicht gefunden wurde, sondern dass "irgendeine" andere Klasse nicht gefunden wurde, die in der, die in der Exception genannt wurde, verwendet wird. Vielleicht ist das bei dir ja was ähnliches?

    Andere Idee wäre noch: Hast du vielleicht rein zufällig das Jar, wo du das rauskopiert hast, im Classpath stehen oder irgendwas anderes, wo eine Klasse den identischen Pfad und Namen hat? Das gibt manchmal auch die wunderlichsten Fehler, wenn Klassen doppelt vorhanden sind ...
     

  13. #13
    mxm
    mxm ist offline Mitglied
    Registriert seit
    Mar 2007
    Beiträge
    16
    Zitat Zitat von Kulabac Beitrag anzeigen
    Hmm, pack deine Jar-Datei doch mal aus und schau was dann passiert, also ob er die Klasse immernoch nicht findet. Und was du da siehst ist doch hoffentlich die .class-Datei und nicht .java
    Schön wärs, aber ganz so einfach ists leider nicht.

    Zitat Zitat von Kulabac Beitrag anzeigen
    Ansonsten: Beispielsweise im Prosyst-OSGi-Framework (da sind die einzelnen Bundles natürlich auch alles Jar-Dateien, die ausgeführt werden), bedeutet eine NoClassDefFoundError-Exception nicht, dass die Klasse nicht gefunden wurde, sondern dass "irgendeine" andere Klasse nicht gefunden wurde, die in der, die in der Exception genannt wurde, verwendet wird. Vielleicht ist das bei dir ja was ähnliches?
    Du hast Recht. Genau das ist bei mir der Fall. Ich hatte ich das auch schon beobachtet. Meiner Meinung nach müsste die in diesem Fall benutzende Klasse aber bereits enthalten gewesen sein. Habe aber noch mal alles neu eingefügt.

    Zitat Zitat von Kulabac Beitrag anzeigen
    Andere Idee wäre noch: Hast du vielleicht rein zufällig das Jar, wo du das rauskopiert hast, im Classpath stehen oder irgendwas anderes, wo eine Klasse den identischen Pfad und Namen hat? Das gibt manchmal auch die wunderlichsten Fehler, wenn Klassen doppelt vorhanden sind ...
    Danke das wars wohl. Ich habe Classpath verändert und jetzt klappts erstmal wieder.

    Grüße,
    mxm
     

  14. #14
    00d4vid ist offline Mitglied Silber
    Registriert seit
    Nov 2007
    Ort
    München
    Beiträge
    51
    In Eclipse gibt es auch die Funktion "Export runnable Jar-File", bei dem die kompletten libs mit exportiert werden.
    Hab das hier über Google gefunden und das ist auch eine Möglichkeit wie es geht.
     
    Hallo Nuray!

  15. #15
    Hachmed Tutorials.de Gastzugang
    danke für die Anleitung, das hat sehr geholfen!
     

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. Eclipse Plugin Export Problem
    Von vadik im Forum Java
    Antworten: 2
    Letzter Beitrag: 12.11.09, 09:20
  2. Probleme mit WAR Export in Eclipse
    Von Klanthe im Forum Enterprise Java (JEE, J2EE, Spring & Co.)
    Antworten: 2
    Letzter Beitrag: 08.07.09, 14:15
  3. Eclipse - Jar Export und Bibliotheken
    Von Smily0412 im Forum Java
    Antworten: 1
    Letzter Beitrag: 14.11.07, 20:20
  4. Eclipse Product Export
    Von flashray im Forum Java
    Antworten: 1
    Letzter Beitrag: 26.08.07, 22:43
  5. Export as .Jar unter Eclipse
    Von Crai im Forum Java
    Antworten: 3
    Letzter Beitrag: 28.04.05, 23:26