# Executable jar-file findet class nicht



## Executer (20. Mrz 2012)

Hallo,

ich habe über Eclipse->Export->Executable jar-file eine jar-file erstellt.
Diese jar-file kann ich auf meinem Rechner ausführen....wenn ich sie 
allerdings auf meinem laptop starten möchte, sagt er:

"Could not finde the main class: Main. Programm will exit"

Woran liegt das?

Google spuckt lauter unnützes Zeug aus -.-


----------



## Gast2 (20. Mrz 2012)

Hast du die main class im Manifest angegeben?


----------



## Executer (20. Mrz 2012)

Main class im manifest? oO


----------



## Executer (20. Mrz 2012)

So etwas wie Manifest kann ich nicht finden.
Ich kann lediglich in einem Dropdown menü die main
class auswählen, was ich natürlich gemacht habe....


----------



## Xeonkryptos (20. Mrz 2012)

Ein jar-File ist ein Archiv wie zip und kann dementsprechend "geöffnet" werden und die Dateien eingesehen und dort hast du im Ordner META-INF eine Manifest-File, in der die main-Class angegeben sein muss, damit die Datei ausführbar wird!


----------



## Executer (20. Mrz 2012)

gut ich habs mal von Hand gemacht

jar -cmf <Manifestdatei> <Jar-Name> <Class-Datei>

spuckt mir zwar ne Executable jar file aus....wird aber nicht mehr ausgeführt.
Es erscheint immer kurz das Wartesymbol und danach passiert nix mehr....


----------



## Executer (20. Mrz 2012)

..und wenn ichs mit der cmd ausführe:

java -jar <Dateiname.jar>

kommt jetzt auch auf dem Laptop:

"Fehler: hauptklasse Main.class konnte nicht gefunden werden oder geladen werden."

Meine Manifest datei direkt bei der .class Datei:

Manifest-Version: 1.0
Created-By: Name
Main-Class: Main.class


----------



## Executer (20. Mrz 2012)

Hab gedacht es könnte eventuell ein Package Problem sein...
war in eclipse ein "default-package" deshalb hab ich mal eins 
erstellt und dann einfach:

jar -cmf Manifest.mf Name.jar package.Main.class

als Antwort von der cmd wenn ichs ausführen will:

kein Hauptmanifestattribut, in Name.jar


Also keine Ahnung wie das funktionieren soll....


----------



## Andi_CH (20. Mrz 2012)

Du musst das Manifest entweder von Hand erstellen oder durch Eclipse generieren lassen.

Mach mal Export eines normale (nicht runnable) jar - da kannst du einstellen, dass das Manifest generiert werden kann.


----------



## Executer (20. Mrz 2012)

Das ist falsch kann ich nicht auswählen.
Bei Runnable jar-File erstellt er das Manifest automatisch...
dennoch funktioniert die Jar-Datei immer nur auf dem Rechner,
auf dem ich die Jar-Datei erstellt habe. Ich habe nun eine ausführlichere 
Fehlermeldung bekommen können:


```
Ausnahme:

MissingFieldException[ Das folgende Pflichtfeld fehlt in der Startdatei: <jnlp>]
	at com.sun.javaws.jnl.XMLFormat.parse(Unknown Source)
	at com.sun.javaws.jnl.LaunchDescFactory.buildDescriptor(Unknown Source)
	at com.sun.javaws.jnl.LaunchDescFactory.buildDescriptor(Unknown Source)
	at com.sun.javaws.jnl.LaunchDescFactory.buildDescriptor(Unknown Source)
	at com.sun.javaws.Main.launchApp(Unknown Source)
	at com.sun.javaws.Main.continueInSecureThread(Unknown Source)
	at com.sun.javaws.Main$1.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
```

Und in der Startdatei steht nur unleserliches, codiertes Zeug.


----------



## Executer (20. Mrz 2012)

Andi_CH hat gesagt.:


> Du musst das Manifest entweder von Hand erstellen oder durch Eclipse generieren lassen.
> 
> Mach mal Export eines normale (nicht runnable) jar - da kannst du einstellen, dass das Manifest generiert werden kann.



hab das gefunden was du meintest... nützt nichts, gleiche Fehlermeldung wie oben gepostet.


----------



## Executer (20. Mrz 2012)

Problem gelöst.

Aus irgendeinem Grund werden jar-files automatisch mit dem Web-Player
gestartet oO oO oO?

Ich musste das jetzt manuell umstellen das er das ganznormal mit der SE
macht, jetzt funktioniert alles wunderbar.....

Muss man auch erstmal drauf kommen...


----------



## Andi_CH (21. Mrz 2012)

Executer hat gesagt.:


> Muss man auch erstmal drauf kommen...


Tja so ist es  und ich dachte schon, es sei ein ähnliches Problem wie bei mir.

Aber falls du das noch liest: Hast du mehr als ein jar-File? (Daran scheitere ich im Moment nämlich)


----------

