tutorials.de Buch-Aktion 05/2012
Seite 1 von 2 12 LetzteLetzte
ERLEDIGT
JA
ANTWORTEN
16
ZUGRIFFE
815
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Kontar Kontar ist offline Mitglied
    Registriert seit
    Aug 2011
    Beiträge
    11
    Hallo,

    mein Export einer jar-Datei macht derzeit etwas Schwierigkeiten. Bisher habe ich den Export immer erfolgreich wie auch hier beschrieben getätigt. Beim jüngsten Fall treffe ich auf die bekannte Fehlermeldung "Could not find the Main-Class...". Dazu muss ich sagen, dass ich über Properties -> Java Build Path, externe libraries eingefügt habe. Meine Manifest Datei liegt im Workspace unter "META-INF" und sieht so aus:
    Code :
    1
    2
    3
    
    Manifest-Version: 1.0
    Created-By: 1.6.0_24-b07 (Sun Microsystems Inc.)
    Main-Class: oara.CsWindow
    + eine leere Zeile

    Meine Klassen seht ihr im angehängten Bild. In CsWindow steckt die Main-Method, welche auch im Wizard als Main-Class angegeben wurde, jedoch ohne Veränderung.

    Danke
    Miniaturansicht angehängter Grafiken Miniaturansicht angehängter Grafiken Fehlerhafter Eclipse Export in JAR-eclipse.png  
    Geändert von Kontar (18.10.11 um 17:05 Uhr)
     

  2. #2
    Avatar von j2se
    j2se j2se ist offline Mitglied Silber
    Registriert seit
    Oct 2011
    Beiträge
    94
    Blog-Einträge
    1
    Weshalb hast Du noch Outlook im Manifest angegeben? Gemäss Grafik genügt ein
    Main-Class: oara.CsWindow

    Zudem musst Du in Eclipse sagen, dass Du Dein eigenes Manifest verwenden willst und sagen, wo es liegt. Ist das auch ok?
    Geändert von j2se (18.10.11 um 17:03 Uhr)
     

  3. #3
    Kontar Kontar ist offline Mitglied
    Registriert seit
    Aug 2011
    Beiträge
    11
    Die Manifest Datei habe ich diesbezüglich mehrmals editiert. Dein Vorschlag war meine Ausgangssituation, mit welcher es ebenfalls nicht funktioniert hat. Ich habe das Beispiel oben mal angepasst, da der Zwischenschub "Outlook" natürlich Käse ist.

    Beim Export habe ich den Pfad der Manifest Datei eingetragen.
    Geändert von Kontar (18.10.11 um 17:09 Uhr)
     

  4. #4
    Avatar von j2se
    j2se j2se ist offline Mitglied Silber
    Registriert seit
    Oct 2011
    Beiträge
    94
    Blog-Einträge
    1
    Versuche einmal den Export ohne eigenes Manifest durchzuführen in dem Du im Fenster "JAR Manifest Specification" die Auswahl "Generate the manifest file" anklickst und die Main-Class explizit auswählst. Wird so die main() Methode gefunden?
     

  5. #5
    Kontar Kontar ist offline Mitglied
    Registriert seit
    Aug 2011
    Beiträge
    11
    Sorry ich hätte vielleicht im Vorfeld meine vorangegangenen Versuche schildern sollen.. Die Generierung der Manifest Datei habe ich zu Beginn gewählt. Dies schlug, genau wie die explizite Auswahl der Main-Class fehl. Auch der Export einer "runable JAR" bleibt ohne Erfolg. Meine Umgebungsvariablen habe ich ebenfalls geprüft.

    Code :
    1
    
    CLASSPATH = C:\Program Files\Java\jdk1.6.0_20\lib
    Code :
    1
    
    PATH = C:\Program Files\Java\jdk1.6.0_20\bin
     

  6. #6
    Avatar von j2se
    j2se j2se ist offline Mitglied Silber
    Registriert seit
    Oct 2011
    Beiträge
    94
    Blog-Einträge
    1
    Kann es sein, dass die Signatur der main() Methode fehlerhaft ist?

    Ich habe testweise in Eclipse eine package oara mit den drei Klassen erstellt, welche jeweils einen Konstruktur aufweisen und innerhalb des Konstruktors ein "Instanz von Klassenname" ausgeben. Die main() Methode ist in der Klasse CsWindow enthalten und instantiiert sich selbst sowie die beiden anderen Klassen. Eine manifest.txt ist ebenfalls vorhanden und enthält

    Manifest-Version: 1.0
    Main-Class: oara.CsWindow

    Danach habe ich Export -> JAR file ausgewählt, die Destination angegeben, dann Next -> Next und use existing manifest mein manifest.txt angegeben und Finish. In einer Dos-Konsole bin ich ins Verzeichnis mit meinem Jar-File gegangen und habe

    java -jar CsWindow.jar

    angegeben. Gemäss dem Inhalt der main() Methode wurden alle Klassen erfolgreich instantiiert und der Output ist

    Instanz von CsWindow
    Instanz von InOut
    Instanz von OutlookControl
    Das Eclipse Projekt findest Du im angehängten Zip-File JarExample. Ebenfalls enthalten ist das erzeugte Jar. Um Deine Java-Umgebung zu testen würde ich zuerst das angehängte CsWindow.jar wie oben gezeigt starten. Ist der Output ok, dann können wir Fehler in der Java-Umgebung ausschliessen.

    Sag bitte Bescheid, wie es gelaufen ist!

    BTW: Der Code wurde mit Eclipse Indigo Service Release 1 sowie Java 1.6.0_27-b07 erstellt.
    Angehängte Dateien Angehängte Dateien
    Geändert von j2se (19.10.11 um 22:16 Uhr)
     

  7. #7
    Kontar Kontar ist offline Mitglied
    Registriert seit
    Aug 2011
    Beiträge
    11
    Deine Testklasse funktioniert auch in meiner Umgebung.

    Instanz von CsWindow
    Instanz von InOut
    Instanz von OutlookControl
    Danke schonmal für deine Mühen.
     

  8. #8
    Avatar von j2se
    j2se j2se ist offline Mitglied Silber
    Registriert seit
    Oct 2011
    Beiträge
    94
    Blog-Einträge
    1
    Zitat Zitat von Kontar Beitrag anzeigen
    Deine Testklasse funktioniert auch in meiner Umgebung.



    Danke schonmal für deine Mühen.
    Gerne geschehen.

    Wenn Du mir Dein Jar-File als Attachment oder via PN zur Verfügung stellst, kann ich reinschauen, weshalb die main() Methode nicht gefunden wird.
    Kontar bedankt sich. 

  9. #9
    SE Tutorials.de Gastzugang
    Zitat Zitat von Kontar Beitrag anzeigen
    Code :
    1
    
    CLASSPATH = C:\Program Files\Java\jdk1.6.0_20\lib
    Code :
    1
    
    PATH = C:\Program Files\Java\jdk1.6.0_20\bin
    Zwei Fragen :
    1) Was sucht das JDK-Verzeichnis im CP ? Sag uns bitte nicht das du dort rum-compilest und so weiter ...
    2) Ist das alles was im PATH steht oder steht der Rest der vorher drin stand auch noch drin ? Falls da nur noch das JDK drinstehen sollte ... dürfte dein System extreme Probleme haben irgendwas richtig auf die Reihe zu bekommen.
     

  10. #10
    Kontar Kontar ist offline Mitglied
    Registriert seit
    Aug 2011
    Beiträge
    11
    Wenn Du mir Dein Jar-File als Attachment oder via PN zur Verfügung stellst, kann ich reinschauen, weshalb die main() Methode nicht gefunden wird.
    Ich habe dir mal meinen Workspace geschickt, welchen du importieren kannst. Da der Fehler ja scheinbar nicht an meiner Umgebung liegt, wird es relativ wenig bewirken die fehlerhafte JAR zu erhalten.

    1) Was sucht das JDK-Verzeichnis im CP ? Sag uns bitte nicht das du dort rum-compilest und so weiter ...
    Ich kompiliere nirgendwo "rum" und das JDK sucht im CP nichts sondern wurde von mir so gesetzt. Wenn du Informationen willst und seien sie auch zur Problemlösung meines Themas, dann mach das bitte auf eine anständige Art.

    2) Ist das alles was im PATH steht
    Nein, meine obige Angabe zur PATH-Variable wurde von mir auf den für Java relevanten Teil begrenzt.
    Geändert von Kontar (25.10.11 um 11:06 Uhr)
     

  11. #11
    SE Tutorials.de Gastzugang
    Ich frage noch mal : warum steht das JDK bei dir im CP ? Das ist als würde man von einer HDD ein Back rekursiv laden ... das ergibt keinen sinn.

    Alles was im JDK\bin - Verzeichnis liegt kennt diesen LIB Ordner ... der muss nicht extra im CP aufgenommen werden.
    Auch wird es nicht gerade empfohlen externe Lib's dort einfach hinein zu kopieren da man es gerne und leicht vergisst dann die abhängigen Lib's mit auszuliefern.

    Und was meine Frage sehr wohl mit deinem Problem zu tun hat : wenn dein CP falsch gesetzt ist kann es vorkommen das irgendwelche Daten an falschen Orten landen oder aus der Sicht von Java sich bereits an falschen Orten befinden.

    Auch ist es für deine Problemlösung nicht gerade hilfreich wenn du EINEM User das "Problem-JAR" zur verfügung stellst ...
    *@j2se : spitzen Idee : ICH kann dir helfen ... die anderen sind unwichtig*

    Aber nun ja ... wenn du so unwillig bist Auskünfte zu geben und lieber mit EINEM als mit einer ganzen Community arbeitst ... dann könnte es etwas dauern bis ihr den Fehler gefunden habt.
     

  12. #12
    Kontar Kontar ist offline Mitglied
    Registriert seit
    Aug 2011
    Beiträge
    11
    Wo bin ich bitte unwillig Auskünfte zu geben? Du platzt hier mit einem offensiven Arroganzton rein und ich hab dich gebeten diesen abzulegen, führst ihn stattdessen fort. Danke für jene "Hilfe" aber die kannst du dir schenken.
     

  13. #13
    SE Tutorials.de Gastzugang
    Ich versuche lediglich Informationen rauszubekommen welche zum Lösen deines Problems wichtig sind ... und wenn du damit nicht rausrückst ist mir das persönlich auch egal.

    Auch kommt deine undeutliche Ausdrucksweise dazu ... und ich habe lediglich die Infos hinterfragt die du gegeben hast ... und wenn du denkst das das arrogant war : ich kann Java im gegensatz zu dir ... und ich muss mich auch nicht mit IDEs rumschlägern ... weil ich alles bequem mit nem Editor *Notepad2* und ner Console mache ... und meine Jar's laufen komischer weise ... was man ja von deinem nicht behaupten ...

    Warum rege ich mich eigentlich auf ? ... Was mache ich hier ? ... Wenn du meine Hilfe *oder zumidnest meine Hinterfragungen weil ich ETWAS an deinem Post nicht ganz verstehe* nicht willst ... hmm kay ... nich mein Problem ...


    Was Could Not Find Main-Class bedeutet : irgendwas stimmt mit deinem CP und den Angaben im MANIFEST nicht ...

    Füge doch deinem CP ganz vorne einfach mal einen PUNKT hinzu ... der steht unter alle Systemen für AKTUELLES VERZEICHNIS
    Das sieht dann so aus

    Code :
    1
    
    CLASSPATH=.;F:\java\lib;F:\java\ext\*

    Alternativ auch mal das jar mit

    Code :
    1
    
    java -cp file.jar package.Start

    starten ..


    UND JA : ich bin von solchen Anfängern wie dir genervt die immer wieder die selben Fehler machen und alle auch immer wieder scheinbar unfähig dazu sind mal GooGLe oder die SuchFunktion zu nutzen um auf die 100 Threads die sich um genau das selbe drehen zu stoßen ...
     

  14. #14
    Kontar Kontar ist offline Mitglied
    Registriert seit
    Aug 2011
    Beiträge
    11
    Was für ein grenzenloser Idiot du bist.

    ich kann Java im gegensatz zu dir
    Das ernsthaft als Hilfestellung zu bezeichnen ist mehr als paradox.

    Geh Schiffe-versenken und belaste mich nicht mit deinen dämlichen Profilierungen und Selbstdarstellungen. Ich muss etwas nicht beherrschen um eine Frage dazu zu stellen.
    Geändert von Kontar (25.10.11 um 13:26 Uhr)
    Nico Graichen und smileyml bedanken sich. 

  15. #15
    Avatar von sheel
    sheel sheel ist gerade online Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.506
    Jetzt kriegt euch wieder ein.
    Beide.
    ...
    Bleibt einfach beim Thema, damit ist allen geholfen.
     
    Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
    Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
    "Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?

Ähnliche Themen

  1. Eclipse - Export - Jar
    Von flashray im Forum Java
    Antworten: 15
    Letzter Beitrag: 22.03.12, 21:52
  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