[英]Java Virtual Machine Launcher Error: Invalid or Corrupt Jar file
我正在使用netbeans創建一個jar文件。 然后,我使用lanch4j創建此jar文件的exe 。 當我在我的電腦上運行該exe文件,它的運行正常,但當我在其他計算機上運行此exe它給我警告
無法驗證發布者。 您是否要運行此軟件
單擊運行時,exe文件運行正常。
我通過使用Windows sdk附帶的signtool.exe將證書添加到我的exe文件中來消除該警告。 它成功地將證書添加到我的exe文件中 。
但是現在當我運行我的exe文件時,它給了我錯誤
“ Java虛擬機啟動器錯誤:無效或損壞的Jar文件 ”
請幫幫我。
謝謝。
因為未簽名您的應用程序,所以引發此警告。 您從未在本地計算機上看到該錯誤,因為您從未傳輸過該應用程序。 您之所以在其他計算機上看到它,大概是因為您將其上傳到某個地方,然后又將其下載到另一台計算機上。
查看此其他問題以獲取更多信息: 簽署Windows EXE文件
使用LAUNCH4J在EXE內包裹JAR的EXE簽名者:
1.證書創建與常規EXE簽名者相同。
makecert -r -pe -ss MyCertStore -n "CN=MyTestCert" MyTestCert.cer
(注意:將此證書導入到Windows中certmgr.msc中的“受信任的證書”部分。)
然后只有它不會在本地系統上顯示未知的發布者。
核實:
在Windows中,只需在開始窗口搜索框中鍵入certmgr.msc
, certmgr.msc
就會在屏幕上提示,打開該窗口,然后檢查是否在Trusted Certificate部分中成功導入了證書。)
2.使用SIGNTOOL和SIGN4J登錄EXE:
sign4j signtool sign /s MyCertStore /n MyTestCert "sample.exe"
使用sign4j來驗證launch4j exe。.避免jar損壞。
sign4j signtool標志/ s MyCertStore / n My_cert sample.exe
驗證此鏈接。將為您提供幫助。 用ant和sign4j在ant中簽名launch4j可執行文件
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.