当前位置: 首页 > 知识库问答 >
问题:

使用Windows power shell运行时出错。发生JNI错误,请检查安装并重试

毛成济
2023-03-14

我得到了“发生了JNI错误,请检查您的安装,然后重试”错误每当我运行我的java jar时,使用“java-jarfilename.jar”命令与windows power shell。每当我双击打开它时,它都能正常工作。

我如何解决这个问题?

提前谢谢。

共有2个答案

拓拔辰钊
2023-03-14

正如错误消息中非常清楚地说的那样,您的JRE太旧了。安装一个新的JRE(并更新您的路径和JAVA_HOME)。

此外,当你也可以将错误信息粘贴为文本时,请不要将其作为截图发布。

淳于飞鸾
2023-03-14

当你双击JAR文件(在文件资源管理器中)时,你说它可以工作,但当你从这个文件夹中的PowerShell窗口运行它时,它就不行了:

C:\incubating-netbeans-11.0-bin\netbeans\ani\Tank-IQ-Display-Configurator\Tank-IQ-Display-Configurator\dist

我猜您安装了不止一个JDK。

如果您在PowerShell窗口中输入以下命令,它将显示所有java.exe文件的路径。

where.exe java

Windows将文件扩展名与可执行文件相关联。显然,在你的电脑上,。jar扩展与java相关联。exe。你可以通过控制面板来检查。寻找默认应用。因此,当您在文件资源管理器中双击JAR时,就会启动相关的可执行文件。

我猜默认的可执行文件是JDK 11的,或者在我上面写的路径的文件夹中有一个与JDK 8兼容的java.exe,或者在您的PATH环境变量中,JDK 8可执行文件的路径先于JDK 11可执行文件的路径。

所以检查一下这些东西。

  1. Windows中的默认应用程序
  2. 路径环境变量

显然,有许多不同的方法来纠正这种情况。我不认为任何人明显优于你,最合适的选择取决于你的环境和你的需求,我不知道,因为你没有提供这些细节,因此我不会建议你应该采取什么行动来解决你的问题。

您需要做的是确保包含编译为JDK 11的java代码的JAR文件使用java运行。exe至少来自JDK 11。

请注意,较高的java版本可以运行编译为较低版本的类。换句话说,如果您的JAR被编译为JDK 8,那么您可以使用JDK 11运行它,但不能反过来运行(正如其他人所指出的,这是导致错误的原因)。

 类似资料: