Jump to content

JAR Datei erstellen

Empfohlene Beiträge

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 ? :(

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

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.

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
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.)?

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
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.

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

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

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

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

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
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. :D

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

@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 ?

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
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 ruckelig
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).

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
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

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
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.

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

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 :D

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
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.

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

@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 ^^.

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
hab mich auch noch nie so wirklich mit beschäftigt [...] über nen tip wo ich da suchen könnte [...] wär ich schon erfreut
Genau 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/

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

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. ;)

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Nimm an der Diskussion teil

Du kannst jetzt hier posten und Dich später registrieren. Wenn Du bereits über eine Konto verfügst, melde Dich jetzt an, um mit Deinem Konto zu posten.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.


Fachinformatiker.de, 2020 SE Internet Services

fidelogo_small.png

if_icon-6-mail-envelope-closed_314900.pnSchicken Sie uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App


Get it on Google Play

Kontakt

Hier werben?
Oder senden Sie eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...

Wichtige Information

Fachinformatiker.de verwendet Cookies. Mehr dazu in unserer Datenschutzerklärung