Mulla Geschrieben 4. Oktober 2005 Geschrieben 4. Oktober 2005 Hi, hab da ein Problem beim erstellen einer ausführbaren java Datei(JAR). Ich bekomme immer die Meldung "Startdateifehler". Ich brauche doch eigentlich nur folgende Funktion die meine eigentliche Hauptfuntion aufruft: public static void main(String[] args) oder nicht ? Zitieren
_Arvid_ Geschrieben 4. Oktober 2005 Geschrieben 4. Oktober 2005 Hi Mulla! Um dir zu helfen, bräuchten wir wohl noch etwas Input. Wie genau gehst du vor beim JAR-Bauen? Gibt es noch mehr zur Fehlermeldung außer "Startdateifehler"? Ein Stacktrace? Am schnellsten ist dir immer geholfen, wenn du schon bei Fragestellung möglichst viele Infos geben kannst. Und ja, die Main-Methode ist der Einstiegspunkt in Java-Programmen. Aber wenn du die korrekt implementiert hast, wird es wohl evtl. an etwas Anderem liegen. Zitieren
perdian Geschrieben 4. Oktober 2005 Geschrieben 4. Oktober 2005 Hi, hab da ein Problem beim erstellen einer ausführbaren java Datei(JAR).In welchem Programm bekommst du die Fehlermeldung? Wie versuchst du das Archiv zu erstellen? Wie sieht die Fehlermeldung genau aus? Wie ist dein Projekt, aus dem die JAR Datei erstellt werden soll zusammengesetzt (welche Klassen, wieviele Libs, etc.)? Zitieren
M.A.Knapp Geschrieben 4. Oktober 2005 Geschrieben 4. Oktober 2005 java -jar mychar.jar package.mit.klasse.die.main.Enthaelt oder die main steht im manifest drin. MfG, Michael Zitieren
perdian Geschrieben 4. Oktober 2005 Geschrieben 4. Oktober 2005 java -jar mychar.jar package.mit.klasse.die.main.Enthaelt oder die main steht im manifest drin.Wird wohl nix zur Lösung des OP-Problems beitragen - denn da liegt das Problem ja beim erstellen des JAR Archives, nicht beim Start des Programmes selbst. Zitieren
M.A.Knapp Geschrieben 4. Oktober 2005 Geschrieben 4. Oktober 2005 @Mulla: Sieht deine Klasse, in der die main drinnen ist, ungefähr so aus ? public class MainClass { public void myMain(String[] args) { } public static void main(String[] args) { new MainClass().myMain(args); } } Zitieren
T. Schiffler Geschrieben 5. Oktober 2005 Geschrieben 5. Oktober 2005 Hi Öffne doch mal die JAR-Datei mit einem ZIP-Programm (einfach umbenennen in meinjar.zip und entpacken oder so). Nun sieh Dir mal die Datei MANIFEST.MF im Unterverzeichnis META-INF an. Dort muss oben am Anfang ungefähr das Folgende stehen (Kopie aus einer JAR von mir): Manifest-Version: 1.0 Main-Class: de.twd.webshopoptimizer.WebshopOptimizer Die Main-Class wird beim Doppelklick auf das JAR-File ausgeführt. Diese Klasse muss die Methode "public static void main(String args[])" beinhalten welche die Anwendung startet (new blablab().startMethode oder so). Gruß Thomas Zitieren
_Arvid_ Geschrieben 5. Oktober 2005 Geschrieben 5. Oktober 2005 Wie Perdi bereits zu erwähnen gedachte.... Wird wohl nix zur Lösung des OP-Problems beitragen - denn da liegt das Problem ja beim erstellen des JAR ArchivesDas JAR gibbet also noch nicht. Zitieren
Mulla Geschrieben 5. Oktober 2005 Autor Geschrieben 5. Oktober 2005 hmpf... sry dass ich erst jetzt wieder aktiv werde... hatte etwas mit meinem Compiler zu kämpfen... argh so ehm... joar ich hatte mich glaube ich etwas ungünstig ausgedrückt. Die JAR-Datei exsistiert f, funktioniert jedoch nicht. Ich habe lediglich den Teil, den ich sonst manuell gemacht habe via public static void main(blabla) gemacht. In main steht lediglich: new snake(); also snake solls werden wenns fertig ist ^^ Habe eine neue klasse die nur die main methode beinhaltet erstellt Naja und snake greift nur auf snakeModel und snakeApple zu. Klassen sind wohl selbsterklärend. Snake selber (also meine Hauptklasse) ist ein JFrame mit CanvasPane in der mitte und nem Label oben. Sonst nix. Funzt auch wunderbar wenn ichs so ausführe. Naja nur halt mit public static void main(bliblblubb) kommt folgende fehlermeldung beim Ausführen der bereits erstellten JAR-Datei: MOAR LOL ! Hab grad den Compiler angeworfen um die Fehlermeldung hier rein zu kopieren ! OMG ! Und dann kommt keiner ! Hmpf... k kann das evtl dran liegen dass ist die jar Datei vorher ind Windows ausgeführ habe ? fuuuuuuuuuuu Zitieren
T. Schiffler Geschrieben 5. Oktober 2005 Geschrieben 5. Oktober 2005 hast du dir die manifest-datei mal angeschaut ? Zitieren
_Arvid_ Geschrieben 5. Oktober 2005 Geschrieben 5. Oktober 2005 Hab grad den Compiler angeworfen um die Fehlermeldung hier rein zu kopieren ! OMG ! Und dann kommt keiner !Das heißt also, es funktioniert? kann das evtl dran liegen dass ist die jar Datei vorher ind Windows ausgeführ habe ? Wo führst du sie denn jetzt aus? Ich möchte dir nicht zu nahe treten, aber mir scheint, deine Fragestellungen sind nicht konkret genug. Oder ich steh zur Zeit auf der Leitung, so dass ich Verständnisprobleme habe... Also das nächste Mal am besten ein wenig mehr Infos im Vorhinein, die Fehlermeldung sofort hier rein kopieren und vielleicht bis dahin noch an deinem Ausdruck üben. Also wenn jetzt noch nicht alles geklärt ist, dann überlege genau, was du uns fragen möchtest. Besten Gruß, Arvid. Zitieren
Mulla Geschrieben 5. Oktober 2005 Autor Geschrieben 5. Oktober 2005 @ar-sch.de jojo np jetzt funtz es. Komischerweise... ich habs vorher wie gesagt in Windows versucht zum laufen zu bekommen. Die Fehlermeldung die dabei rauskahm war alles andere als aufschlussreich. Irgendwas mit stack oder so und dann noch bissl geplerre ich hätte vergessen ingendwelche sachen zu implementieren. Wie auch immer jetzt in Linux ab in die shell "java -jar dingenskirchen" und alles funzt *THUMBS UP*. Kleine frage noch um euch net ganz in Fireden zu lassen ;P Kann es sein das Windows net so heftige performance Probleme mit Java hat wie Linux ... weil Snake läuft in Linux ruckelig ... lol. In Windows hingegen ohne auch nur das kleinste zucken. naja... bis denne... und danke für eure hilfe ! @Erbeere hab ich grad eben steht folgendes drin: Manifest-Version: 1.0 Class-Path: . Main-Class: snake kannst was mit anfangen ? Zitieren
perdian Geschrieben 5. Oktober 2005 Geschrieben 5. Oktober 2005 Die Fehlermeldung die dabei rauskahm war alles andere als aufschlussreich. Irgendwas mit stack oder so und dann noch bissl geplerre ich hätte vergessen ingendwelche sachen zu implementieren.Dann poste beim nächsten mal einfach die komplette Fehlermeldung, inklusive Stacktrace und dem Aufruf, der sie verursacht hat, dann sind die Chance weit höher, dass wir überhaupt wissen, was eigentlich los ist - und nur dann kann auch irgendwer dir einen wirklichen Tip bzw. eine Fehlerlösung geben. Mit "komischen" oder "nicht aufschlussreichen" Fehlermeldungen, kannst du vielleicht wenig anfangen - wir schon Kann es sein das Windows net so heftige performance Probleme mit Java hat wie Linux ... weil Snake läuft in Linux ruckeligJava hat weder unter Linux noch unter Windows von Haus aus Performanceprobleme (und massive erst recht nicht). Sehr wahrscheinlich liegt der Fehler daher in deinem Programm selbst (Zuviel Code im Event Dispatcher Thread, schlechte Synchronisierung, das kann eine ganze Reihe von Ursachen haben). Zitieren
_Arvid_ Geschrieben 5. Oktober 2005 Geschrieben 5. Oktober 2005 Die Fehlermeldung die dabei rauskam war alles andere als aufschlussreich.Jede noch so nutzlose Meldung kann sich schließlich doch noch als äußerst sinnvolle und hilfreiche Fehlermeldung entpuppen, wenn man sie nur genau genug betrachtet. Eine Fehlermeldung wird ja nicht ohne Grund erzeugt. Alles hat seine Ursachen. Und wenn die Meldung sagt, es sei nicht alles implementiert, dann wird das schon stimmen. Ich wage es, zu behaupten, die Meldung sei sehr wohl aufschlussreich gewesen. Sie muss nur richtig gelesen werden. Was die Perfromace-Frage angeht, kann ich persönlich dir keine Antwort geben, da ich WinXP-Benutzer bin. (Ich mag zwar die OpenSource-Philosophie unglaublich gerne, aber deshalb muss mir Windows nicht plötzlich nicht mehr gefallen... ) Infos zu Manifest-Dateien gibt es hier und insbesondere bei java.sun.com Zitieren
Mulla Geschrieben 5. Oktober 2005 Autor Geschrieben 5. Oktober 2005 Mit "komischen" oder "nicht aufschlussreichen" Fehlermeldungen, kannst du vielleicht wenig anfangen - wir schon Merke ich mir fürs nächste mal Java hat weder unter Linux noch unter Windows von Haus aus Performanceprobleme (und massive erst recht nicht). Sehr wahrscheinlich liegt der Fehler daher in deinem Programm selbst (Zuviel Code im Event Dispatcher Thread, schlechte Synchronisierung, das kann eine ganze Reihe von Ursachen haben). Nur komisch ist, dass wirklich exakt das selbe Programm in Linux ruckelt und Windows vollkommen normal läuft. Zitieren
Mulla Geschrieben 5. Oktober 2005 Autor Geschrieben 5. Oktober 2005 Hmpf... hab rausgefunden warum das unter Windows nicht funktioniert hat. anstatt java -jar <datei> waren alle dateien auf javaws verlinkt... lol kein wunder. sry für den Zeitaufwand jungs ^^ und danke für die Mühe Zitieren
perdian Geschrieben 5. Oktober 2005 Geschrieben 5. Oktober 2005 Nur komisch ist, dass wirklich exakt das selbe Programm in Linux ruckelt und Windows vollkommen normal läuft.Das sagt noch nichts darüber aus, ob die JVM Implementierung für Linux nun gut oder schlecht ist. Es kann durchaus der Fall sein, dass es unter Windows "zufällig" so ist, dass das Ruckeln nicht vorkommt, weil dort die internen Abläufe anders sind, die deinen Fehler im Programm (ich unterstelle einfach mal, dass dort einer existiert, aber das muss nicht zwangsläufig richtig sein) wieder "ausbügeln". Genrell ist es immer eine gute Annahme bei solchen Fehlern in eigenen Programmen erstmal davon auszugehen, dass der Fehler nicht in der JVM und auch nicht im Betriebssystem selber, sondern in der eigenen Applikation liegt. Denn mal angenommen es wäre tatsächlich der Fall, dass die JVM oder das OS fehlerhaft ist, so ist es äusserst unwahrscheinlich, dass du - mit einem kleinen Programm - der erste wärst, dem dieser Fehler aufgefallen ist. Dafür arbeiten einfach zu viele Leute mit viel komplexeren Programmen auf den gleichen Architekturen. Sollte es daher wirklich ein fehlerhaftes Verhalten sein, so wäre der Fehler inzwischen wohl entweder allgemein bekannt oder (was viel wahrscheinlicher ist) schon längst gefixt. Zitieren
Mulla Geschrieben 5. Oktober 2005 Autor Geschrieben 5. Oktober 2005 @perdi es ist mir nur aufgefallen dass es ruckelt... mehr nicht. wo in so nem mini prog der fehler sein soll.. hm ka ^^ hab mich auch noch nie so wirklich mit beschäftigt, was das system jetzt auslastet und was nicht... von daher würde ich jetzt nur raten können woran es liegt. Ich denke aber ab warscheinlichsten ist die Stelle an der ich den Thread anhalte. Naja über nen tip wo ich da suchen könnte/typische fehler oder so wär ich schon erfreut ^^. Zitieren
perdian Geschrieben 5. Oktober 2005 Geschrieben 5. Oktober 2005 hab mich auch noch nie so wirklich mit beschäftigt [...] über nen tip wo ich da suchen könnte [...] wär ich schon erfreutGenau beim ersten Punkt: Beschäftige dich mit dem System! Verstehe, wie eine graphische Benutzeroberfläche generell funktioniert, was der Event Dispatcher Thread ist, wie und wieso das Swing-Framework ihn verwendet. Du wirst nie wirklich gegen solche Phänomene wie ruckelnde Graphik etc. anarbeiten können, wenn du nicht weisst, wieso du jetzt genau bestimmte Codebereiche beispielsweise in einem separaten Thread ausführen musst, während andere innerhalb des Event Dispatchers laufen sollten/müssen. Deine Anlaufadresse könnte also (unter anderem) sein: http://java.sun.com/docs/books/tutorial/uiswing/ Zitieren
Mulla Geschrieben 5. Oktober 2005 Autor Geschrieben 5. Oktober 2005 Jo das kann ich gern mal anpacken wenn ich mal wieder was zuviel Freizeit habe... naja ich begebe mich lieber erstmal auf Fehlersuche. Ist glaub ich jetzt erstmal zuviel des guten das ganz jetzt haarklein auf zu porkeln. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.