Error: Invalid or corrupt jarfile?
Hallo liebes Forum,
ich habe ein .jar Programm welches ich gerne auf dem Linux-Server ausführen möchte. Um es zu testen habe ich es erstmal auf meinem Win10 Rechner probiert. Auf dem Win Rechner läuft es einwandfrei. Auf dem Linux-Server allerdings bekomme ich den Fehler: "Error: Invalid or corrupt jarfile". Auf dem Linux habe ich die Versionen:
openjdk version "14" 2020-03-16
OpenJDK Runtime Environment (build 14+36)
OpenJDK Server VM (build 14+36, mixed mode)
installiert. Auf dem Win10 Rechner habe ich diese Versionen installiert:
java version "14.0.2" 2020-07-14
Java(TM) SE Runtime Environment (build 14.0.2+12-46)
Java HotSpot(TM) 64-Bit Server VM (build 14.0.2+12-46, mixed mode, sharing)
So wich das sehe sind auf beiden Java 14 installiert oder? oder kann es sein, dass es daran liegt das es beim Linux System OpenJDK ist? Die Main-Class ist auch in der Manifest.mf eingetragen.
Ich brauche da eure Hilfe habe keine Ahnung an was es noch liegen kann.
Danke schon mal für die Antworten :)
1 Antwort
Error: Invalid or corrupt jarfile
Einfacher Test: probier mal, ob du das Jar unzippen kannst (ein JAR-File ist tatsächlich ein Zip, nur mit anderer Endung). Wenn nicht, ist die Datei tatsächlich nicht in Ordnung. Es reicht auch einfach ein Test, also:
unzip -t bla.jar
OpenJDK oder nicht ist übrigens völlig egal (es gibt de facto nur mehr OpenJDK). Nicht kompatible Bytecode-Versionen würden mit einer entsprechenden Fehlermeldung quittiert.
Dann ist es offenbar nicht identisch mit dem File, das auf dem Windows-Rechner läuft. Früher passierte sowas zB, als man für Transfers FTP verwendete und dabei auf den Binary-Mode vergessen hat.
EDIT: Und wahrscheinlich heißt dein File wohl nicht bla.jar, also richtigen Namen einsetzen... ;-)
zu dem EDIT: ja klar heißt es anders habe es jetzt nur fürs Forum umbenannt ;D
ich habe die jar Datei auf das NAS Kopiert und von da aus auf den Rapi Kopiert. Was hat das mit dem Binary-Mode auf sich? Wie kriege ich die Datei dann richtig auf den Raspi?
(die anderen jar Versionen des Programms habe ich genau so auch auf dem Raspi Kopiert... die laufen.)
Der Binary Mode spielt eigentlich nur für FTP eine Rolle, ich vermute mal das hast du nicht verwendet, oder? Du kannst mal einen Blick auf die Dateigröße werfen (sollte natürlich exakt gleich groß sein) oder ein md5-Hash auf beiden Systemen rechnen lassen.
Habe die Datei Größen verglichen die Datei auf dem Raspi war tatsächlich kleiner! ich habe dann noch mal die Datei neu auf das NAS Kopiert und immer die Größen verglichen. Auf dem NAS passte die Größe noch. Dann habe ich die jar Datei per drag and drop in einen Ordner vom Raspi gezogen. Siehe da, da ist der Fehler! plötzlich war die Datei KLEINER. Interessant! ich habe dann die selbe Datei wie folgt nochmal Kopiert: Rechte Maustaste -> Kopieren dann in dem Ordner: Rechte Maustaste -> Einfügen Jetzt ist die Datei auf einmal genauso groß wie die andern auf dem NAS und Rechner... das kann ich mir irgendwie nicht erklären...
Spannend - ist mir auch nicht erklärlich was da passiert ist...
Danke für deine Antwort :)
habe das mal versucht und bekomme:
Für mich wird halt nicht schlüssig warum es auf dem Win10 Rechner läuft aber auf dem Linux nicht :/