Idea報錯: A JNI error has occurred的問題
具體報錯
Error: A JNI error has occurred, please check your installation and try again
原因
一般情況
報錯如上一般情況是因為本地 java 編譯和 java 運行版本不一致導(dǎo)致的。
所以需要在 Idea 中設(shè)置為一樣的。
設(shè)置如下圖:【這里以 jdk 1.8 為例】
01)點擊 FIle --> Project Structure
02)設(shè)置 Project 中SDK的版本一致

03) Modules 中 修改 Sources 和 Dependencies 中版本一致


04) SDKs 設(shè)置版本一致

05)如有其他 SDK ,設(shè)置 Global Libraries 保持全局一致【并不是和 JDK 一致,而是和該 SDK 的其他版本一致】

06)點擊 Preferences 下的 該位置:設(shè)置版本一致


07)最后確認(rèn)pom文件中是否有顯式聲明java編譯版本等限制字符,如有,可以去掉。然后生效POM文件【有的可以自動生效,有的需要手動生效】
到這里基本一般情況就可以解決并運行了。
其他情況
有時候并不是版本不一致會導(dǎo)致該問題產(chǎn)生,有時候可能因為jar包或者類方法異常。
如:
Exception in thread “main” java.lang.NoClassDefFoundError: org/apache/spark/SparkContext
這個錯誤等也會導(dǎo)致 A JNI error has occurred
01)確認(rèn)該類【類所在jar】是否成功導(dǎo)入,如果沒導(dǎo)入,pom中記得導(dǎo)入一下
02)導(dǎo)入有包,但是執(zhí)行報錯類異常,確認(rèn)下是否pom文件中 scope 屬性是否設(shè)置了 provided ,如果有去掉就可以了【本地可以去掉,打包的時候,如果環(huán)境中有該jar,那么打包的時候還需繼續(xù)加上】

03)如果不喜歡來回改動pom文件,那么可以在如下位置,添加這個包,這樣pom文件既可以保持原樣,也可以在本地運行。

總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
實例詳解Java實現(xiàn)圖片與base64字符串之間的轉(zhuǎn)換
這篇文章主要介紹了Java實現(xiàn)圖片與base64字符串之間的轉(zhuǎn)換實例代碼,非常不錯,具有參考借鑒價值,需要的朋友參考下2016-12-12
SpringBoot如何使用@Cacheable進(jìn)行緩存與取值
這篇文章主要介紹了SpringBoot如何使用@Cacheable進(jìn)行緩存與取值,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-08-08
SpringBoot中的ApplicationRunner與CommandLineRunner問題
這篇文章主要介紹了SpringBoot中的ApplicationRunner與CommandLineRunner問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-09-09
Java項目開啟遠(yuǎn)程調(diào)試的方法步驟(tomcat、springboot)
這篇文章主要介紹了Java項目開啟遠(yuǎn)程調(diào)試的方法步驟(tomcat、springboot),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10
spring boot利用docker構(gòu)建gradle項目的實現(xiàn)步驟
這篇文章主要給大家介紹了關(guān)于spring boot利用docker構(gòu)建gradle項目的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用spring boot具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2018-05-05
基于Java SSM框架開發(fā)圖書借閱系統(tǒng)源代碼
本文給大家介紹了基于Java SSM框架開發(fā)圖書借閱系統(tǒng),開發(fā)環(huán)境基于idea2020+mysql數(shù)據(jù)庫,前端框架使用bootstrap4框架,完美了實現(xiàn)圖書借閱系統(tǒng),喜歡的朋友快來體驗吧2021-05-05
Java日期格式化的實現(xiàn)(@JsonFormat和@JSONField)
本文主要介紹了Java日期格式化的實現(xiàn),主要介紹了@JsonFormat和@JSONField兩種方式,具有一定的參考價值,感興趣的可以了解一下2024-05-05

