1. 程式人生 > >關於linux Or Windows執行jar包 Invalid or corrupt jarfile以及class檔案notfound

關於linux Or Windows執行jar包 Invalid or corrupt jarfile以及class檔案notfound

第一個: Invalid or corrupt jarfile XXXX.jar

這個原因提示了,是因為你打的包檔案不全,如果你用壓縮工具檢視完整的jar包的話,你會發現jar檔案裡缺少內容,在我這裡就是缺少了清單檔案,看我下面的圖


META-INF資料夾裡的檔案MANIFEST.MF檔案,我這裡的解決方法就是直接copy專案生產的META-INF資料夾到這個jar包裡面去就OK了,如果你們遇到這個問題,可以解壓下jar包檢視下內容結構,你就大致明白了你的預設檔案。

第二個問題:class檔案notfound

也是打包後執行時遇到的問題,什麼原因,我後來才發現,我用的是idea開發工具,裡面打包的清單檔案內容缺省了包的引用,而程式碼裡需要這個jar包,所以,導致的情況就是,你在本地idea執行就是沒問題,一到打包到伺服器那執行,頻頻報錯。

檢測方式:檢視引用的清單-MANIFEST.MF 內Class-path 屬性內容是否含有缺少的jar包名,沒有就新增進去,重新打包,即可。