# Jar kann nicht gestartet werden - main Class not found



## meister-g (20. Okt 2010)

Hallo,

ich habe ein problem auf einem einzelnen rechner.
und zwar werden executable jars nicht geöffnet. das geht nicht nur meinem jar so, sondern auch anderen.
die main Klasse wird nicht gefunden.
sowohl unter vewendung eines installierten jre, als auch mit einem eigenen.
am manifest sollte es also nicht liegen. wie gesagt habe ich auch andere softwarepakete ausprobiert. kein jar lässt sich starten.

mit
java -classpath ".\myjar.jar" MyClass
funktioniert der spass.

für mich ergeben sich jetzt zwei fragen:
1. woran kann das liegen? ist da irgendwas mit dem classpath faul oder kann das mit einer firewall zusammenhängen oder so (unter win xp das ganze)
2. wie kann ich mein programm deployen um so etwas zu umgehen? der aufruf wie oben geht zwar, ich möchte das programm aber in eine exe wrappen (das klappt auch bei allen rechnern ausser auf dem einen) gut. mit launch4j habe ich die diversesten einstellungen mit classpath usw ausprobiert, klappt aber nicht.
eine version bekomme ich gebacken. allerdings geht das dann nur, wenn das arbeitsverzeichnis richtig gesetzt ist. mit verknüpfungen ohne richtig gesetztem arbeitsverzeichnis geht es nicht. meine software funktioniert bisher auch mit anderem arbeitsverzeichnis und soll das auch weiterhin.


----------



## XHelp (20. Okt 2010)

Wie sieht denn die classpath-Variable auf dem fragwürdigem Rechner aus?


----------



## meister-g (20. Okt 2010)

der classpath enthält alle libs.
und ich habe es probiert mit und ohne eintrag des jar-archivs, dass eben die mainklasse enthält. ein pünktchen ist auch noch dabei.

was kann den da noch passieren, dass bei keinem executable jar (nicht nur von mir, sondern auch von gängiger anderer software) die main klasse nicht gefunden wird obwohl das manifest richtig gesetzt ist und es auf 100 anderen rechnern funktioniert?

würde das schon gerne rausfinden

kann mir noch jemand einen tipp geben was das deployment angeht:
- die exe bisher wrappen mit verweis auf das jar -> dieser rechner (+ weitere wenn executable jars nicht ausgeführt werden können) funzt nicht.
- die exe wrappen und den classpath explizit angeben, funktioniert dann allerdings nur bei aufruf mit entsprechend gesetztem arbeitsverzeichnis.
was ist besser?


----------



## XHelp (20. Okt 2010)

Wie wäre es damit, die Variable zu setzen?
Wozu überhaupt eine exe um eine jar zu starten?


----------



## meister-g (20. Okt 2010)

sie ist gesetzt im manifest file, habe das kurz mit der umgebungsvariable verballert. siehe edit anfang letzter post.

warum exe?
es gibt fälle, da wollen die kunden eine schöne windows-software. sprich eine exe mit icon. aber darum gehts ja nicht.
jar ausführen funktioniert ja genauso bei mir. nur an dem einen rechner eben nicht. und eben nicht nur meines.


----------



## meister-g (21. Okt 2010)

ok, hat sich erledigt.
irgendein scheiss nokia programm hatt jar files als eigene installer-dateien unter windows als datei-open deklariert.
warum das den wrapper betrifft verstehe ich noch nicht ganz.
problem aber grundsätzlich gelöst.


----------

