Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何为使用JDK 11编译的java程序将JRE与Launch4j捆绑在一起?_Java_Jar_Exe_Java 11_Launch4j - Fatal编程技术网

如何为使用JDK 11编译的java程序将JRE与Launch4j捆绑在一起?

如何为使用JDK 11编译的java程序将JRE与Launch4j捆绑在一起?,java,jar,exe,java-11,launch4j,Java,Jar,Exe,Java 11,Launch4j,我正在使用Launch4j从.jar文件生成.exe文件。然而,当我把它交给一个朋友时,它不断地得到那个错误“发生了一个JNI错误,请检查您的安装并重试”。我想我对JRE和JDK版本有问题。所以我看到了这一点,但它太旧了,现在来自JDK11的Oracle没有像以前那样有单独的JRE 我想知道我应该在launch4j程序中加入哪一个最低的JRE版本(这是强制性的),以及如何解决我朋友经常遇到的错误 我只是想说清楚。我可以毫无错误地运行.exe文件,但是当我把它交给我的朋友时,他们得到了上面提到的错

我正在使用Launch4j从.jar文件生成.exe文件。然而,当我把它交给一个朋友时,它不断地得到那个错误“发生了一个JNI错误,请检查您的安装并重试”。我想我对JRE和JDK版本有问题。所以我看到了这一点,但它太旧了,现在来自JDK11的Oracle没有像以前那样有单独的JRE

我想知道我应该在launch4j程序中加入哪一个最低的JRE版本(这是强制性的),以及如何解决我朋友经常遇到的错误


我只是想说清楚。我可以毫无错误地运行.exe文件,但是当我把它交给我的朋友时,他们得到了上面提到的错误。

代码似乎是用JDK 11编译的,但是你的朋友没有JRE/JDK 11,因此出现了错误。自从你链接这个问题以来,答案并没有真正改变。(将JRE与EXE捆绑在一起,并使用捆绑的JRE)

至于将JRE 11打包,您可以肯定的是,现在已经没有了可以在任何地方下载的“Oracle JRE 11”。你要么可以,要么可以


第二个选项似乎要简单得多,因此您可以从AdoptOpenJDK下载JRE 11,并将其与EXE捆绑在一起。

这是否回答了您的问题?不,因为我的问题与launch4j计划有关。我也会遇到同样的错误,但在尝试运行.exe文件而不是Eclipseso OpenJDK中的.java文件时,让我们下载JRE11?OpenJDK的目的是什么?与普通jdk有什么不同?我会尝试回答你的问题,然后反馈回来是的,OpenJDK提供了JRE 11下载。OpenJDK与Oracle JDK不同,因为OpenJDK是开源的,而Oracle JDK不是。它们拥有不同的许可证,新的Oracle JDK许可证比OpenJDK更具限制性。它们都由Oracle维护。