IntelliJ IDEA生成jar包運行報Error:A JNI error has occurred,please check your installation and try again


首先介紹一下IntelliJ IDEA生成jar包的方式:

1、打開項目,打開FIile->Project Structure...菜單.如下圖:

 

選中Artifacts,點+號,選擇JAR,再選擇From modules with dependencies...,如下圖:

 

在打開的界面中選擇Main class:如下圖示,會自動搜索到main class位置,選中確定即可。

 

JAR files from libraries有兩個選項,extract to the target JAR和copy to the output directory and link via manifest,

extract to the target JAR:將第三方jar包打包到目標中,只生成一個jar包

copy to the output directoru and link via manfes:將第三方包copy的目標jar包目錄,有多個jar包

我們首先選擇第二項,如下圖:

 

關於Directory for META-INF/MANIFEST.MF默認,不需要修改(網上有很多說要改的),點OK完成配置。

 

如果不改jar包名, 可以直接點OK完成。

接下來就是生成jar包,打開菜單Build->Build Artifacts...->Build,如下圖:

 

 

生成結果如下:

 

運行Cknife-master.jar,成功:

 

我想大部分人不想這樣有多個jar包,會選擇生成一個包。我們接着做一下,重新打開FIile->Project Structure...菜單,將上一次的配置刪除,點 - 號如圖,重新添加:

 

 

這次選擇extract to the target JAR,如下圖:

 

如果出現以下錯誤,直接將src/META-INF/MANIFEST.MF文件刪除,關閉Project Structure(不關閉還是報錯,可能是bug)重新添加即可。

 

配置完成后,再次打開菜單Build->Build Artifacts...->Build,生成jar包如下圖:

 

到此,似乎一切正常,來運行一下。

 

無法正常運行,這個錯誤在網上搜索,有說是java或javac版本問題,有說是MANIFEST.MF位置不對,其實解決辦法很簡單,將第三方jar包META-INF中的認證文件刪除即可。如下圖:

 

重新build后運行一切正常。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM