JAR findet auf Win2000 Main-Class nicht!

javaDeveloper2011

Erfahrenes Mitglied
Hallo Leute,

ich habe einige Programme geschrieben, die bei mir (Windows 7 + jdk1.6.0_21) einwandfrei laufen. Auf einem Windows 2000-Rechner laufen leider einige nicht ohne weiteres! (Mit USB-Stich transportiert)

Also bei vielen gewrappten exen findet er die Main-Klasse nicht, manchmal aber nicht mal beim jar!

Folgende Gründe kann ich schon mal ausschließen:
  • Main-Klasse wirklich nicht vorhanden
  • fehlende Manifest-Datei
  • fehlende Library (entweder im lib-Ordner oder mit in die EXE commpressed, wir dann auch dekomprimiert)
  • Sicherheitsaspekte, denn ob Dateien erzeugt, Properties gelesen, ect. werden spielt keine Rolle
  • Ich verwende zwar manchmal des Nimbus-L&F, aber auch manche dieser Anwendungen funktionieren!

Wenn ich die Dateien vor Ort zum JAR packe (+ kompiliere) funktioniert alles!

Hat jemand ne Idee?

Wäre echt dankbar für jede Hilfe,
javaDeveloper2011
 
Hmm .. da ich jetzt mal davon ausgehe das du sicherlich auch auf dem Win2k dasa richtige JRE *oder sogar JDK* installiert hast gehe ich davon aus das du etwas beim wrapen falsch machst. Es kann gut möglich sein das in der Exe ein absoluter Pfad angegeben ist der so nicht auf dem Win2k existiert. Müsstest du mal in deinem wrap-Programm nachschauen ob du eine solche Einstellung findest.
 
Hi SPiKEe,

1. Im Wrapper habe ich nur Pfade angegeben von denen aus Jars / Icon eingebunden werden sollen, aber keinen zum JRE / JDK oder irgendwas anderem
2. Manche Exen funktionieren ja auch, wobei sogar manchmal die puren, von NetBeans generierten jars nicht starten!

Trotzdem danke für die Antwort,
javaDeveloper2011
 
Hmm ... dann würde ich mal ziemlich viel debug-Zeilen in den Source schreiben ... neu compilen und als Jar packen und dann aber von ner Console aus starten damit du eventuelle Ausgaben siehst. Alternativ natürlich auch logging in ein File.
 
Debug-Zeilen und bringen dabei doch rein gar nichts. Wenn die Main-Class nicht gefunden wird, wie sollen dann die Debug-Zeilen ausgeführt werden?

versuch doch mal herauszufinden worin sich die funktionierenden jars/exen unterscheiden. Also was du ggf. bei der Erstellung anders machst. Evtl. kannst du so die Ursache finden.
 
Hi,

das Problem ist ja gerade, dass ich absolut kein Kriterium finden kann in denen sich alle laufenden von den nicht laufenden unterscheiden!
Noch eine Ergänzung zur Liste oben:
  • ob die Class-Files im "Default-Package" oder in einem spezifizierten Package liegen macht keinen Unterschied

Gruß javaDeveloper2011
 
Wie gesagt ... ich würde vermuten das deine EXE versucht irgendwelche ABSOLUTEN Pfade auszuführen. Hast du es denn schon mal versucht was passiert wenn du die Ordner-Struktur 1zu1 kopierst ? ... Weil wenn dann alles problemlos läuft musst du wirklich noch mal ein deinem Wraper nachsehen ob es dort nicht doch versteckte Einstellungen gibt über die der EXE absolute Pfade mitgeteilt werden. Vielleicht ist dies auch ein Bug im Wraper *diesbezüglich mal beim Entwickler nachfragen*

Kurze Off-Top Frage : welche Version von Java hast du unter deinem 2k laufen ? Ich versuche vergeblich das JDK 7 zu insatllieren welches laut Dateiname ebenso i586 ist wie auch das 6er *das habe ich noch nicht probiert* ... jedoch bekomme ich immer die Fehlermeldung : keine zulässige Win32 Anwendung.
 
Hallo SPiKEe,

vergiss mal die EXE'n, das ist nicht so schlimm.
Mich wundert nur am meisten, dass eben nicht mal alle JAR's in identischer Ordner-Struktur laufen!

Bei der Java-Version bin ich mir nicht ganz sicher - ich kann im moment auch nicht nachschauen, jedenfalls irgendwas vor 1.6, Update 10.

javaDeveloper2011
 
Ähm ... also wenn nicht mal deine JARs laufen sind diese falsch zusammen gepackt ... andere Erklärung fällt mir nicht ein.

PS : Formatierung ist kein Hobby
 
Zurück