Idea报错: A JNI error has occurred的问题

 更新时间:2023年08月23日 10:06:47   作者:KeinoJust  
这篇文章主要介绍了Idea报错: A JNI error has occurred的问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

具体报错

Error: A JNI error has occurred, please check your installation and try again

原因

一般情况

报错如上一般情况是因为本地 java 编译和 java 运行版本不一致导致的。

所以需要在 Idea 中设置为一样的。

设置如下图:【这里以 jdk 1.8 为例】

01)点击 FIle --> Project Structure

02)设置 Project 中SDK的版本一致

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

04) SDKs 设置版本一致

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

06)点击 Preferences 下的 该位置:设置版本一致

07)最后确认pom文件中是否有显式声明java编译版本等限制字符,如有,可以去掉。然后生效POM文件【有的可以自动生效,有的需要手动生效】

到这里基本一般情况就可以解决并运行了。

其他情况

有时候并不是版本不一致会导致该问题产生,有时候可能因为jar包或者类方法异常。

如:

Exception in thread “main” java.lang.NoClassDefFoundError: org/apache/spark/SparkContext

这个错误等也会导致 A JNI error has occurred

01)确认该类【类所在jar】是否成功导入,如果没导入,pom中记得导入一下

02)导入有包,但是执行报错类异常,确认下是否pom文件中 scope 属性是否设置了 provided ,如果有去掉就可以了【本地可以去掉,打包的时候,如果环境中有该jar,那么打包的时候还需继续加上】

03)如果不喜欢来回改动pom文件,那么可以在如下位置,添加这个包,这样pom文件既可以保持原样,也可以在本地运行。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 解决在Gradle/IDEA中无法正常使用readLine的问题原因

    解决在Gradle/IDEA中无法正常使用readLine的问题原因

    这篇文章主要介绍了在Gradle/IDEA中无法正常使用readLine的解决方法,原因是由于Gradle的标准输入默认并不与系统标准输入绑定,需手动设置,需要的朋友可以参考下
    2021-12-12
  • 详解Java多线程编程中CountDownLatch阻塞线程的方法

    详解Java多线程编程中CountDownLatch阻塞线程的方法

    在Java中和ReadWriteLock.ReadLock一样,CountDownLatch的本质也是一个"共享锁",这里我们就来详解Java多线程编程中CountDownLatch阻塞线程的方法:
    2016-07-07
  • 详解Java中的时区类TimeZone的用法

    详解Java中的时区类TimeZone的用法

    TimeZone可以用来获取或者规定时区,也可以用来计算时差,这里我们就来详解Java中的时区类TimeZone的用法,特别要注意下面所提到的TimeZone相关的时间校准问题.
    2016-06-06
  • Windows安装Maven并配置环境的详细步骤

    Windows安装Maven并配置环境的详细步骤

    Maven是一个非常流行的构建和项目管理工具,用于Java开发,它提供了一个强大的依赖管理系统和一系列标准化的构建生命周期,本文将指导您如何在Windows操作系统上安装和配置Maven,需要的朋友可以参考下
    2023-05-05
  • 聊聊Java Double相加出现的怪事

    聊聊Java Double相加出现的怪事

    这篇文章主要介绍了Java Double相加出现的怪事,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • spring AOP的Around增强实现方法分析

    spring AOP的Around增强实现方法分析

    这篇文章主要介绍了spring AOP的Around增强实现方法,结合实例形式分析了spring面向切面AOP的Around增强具体步骤与相关操作方法,需要的朋友可以参考下
    2020-01-01
  • Servlet获取AJAX POST请求中参数以form data和request payload形式传输的方法

    Servlet获取AJAX POST请求中参数以form data和request payload形式传输的方法

    这篇文章主要介绍了Servlet获取AJAX POST请求中参数以form data和request payload形式传输的方法,结合实例形式详细分析了post数据发送及获取请求数据的原理与相关操作注意事项,需要的朋友可以参考下
    2017-11-11
  • java使用gzip实现文件解压缩示例

    java使用gzip实现文件解压缩示例

    这篇文章主要介绍了java使用gzip实现文件解压缩示例,需要的朋友可以参考下
    2014-03-03
  • Java超详细分析@Autowired原理

    Java超详细分析@Autowired原理

    @Autowired注解可以用在类属性,构造函数,setter方法和函数参数上,该注解可以准确地控制bean在何处如何自动装配的过程。在默认情况下,该注解是类型驱动的注入
    2022-06-06
  • 详解java中命令行模式的实现

    详解java中命令行模式的实现

    命令模式是一种行为设计模式,它允许您将请求封装为对象,以便您可以将其参数化、队列化、记录和撤销,本文主要为大家介绍一下java实现命令模式的示例代码,需要的可以参考下
    2023-09-09

最新评论