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

IntelliJ创建的jar文件在没有jdk的计算机上不能工作

宋智明
2023-03-14

我想这个stackoverflow问题已经有了我的答案:IntelliJ runnable jar不能在其他计算机上运行,这个问题的答案是大多数IDE可以自动包含所需的java库,使jar在没有JDK的PC上可以运行。我的问题是,在IntelliJ中,我可以确保这些库包含在哪里?

这就是我的工件设置的样子:链接也许我需要在这里更改什么?

编辑:我的问题是:IntelliJ生成的jar文件在我的计算机上运行良好。在我朋友的电脑上,删除文件会产生JNI错误。他的电脑上只有JRE而没有JDK。我假设问题与此有关。如何确保jar文件在没有JDK和有JRE的计算机上运行?

共有1个答案

曹成双
2023-03-14

您的程序可以在没有JDK的情况下运行,但是它需要JRE--Java虚拟机是必需的。

您可以使用jlink在Java11及以上版本上创建此代码,它将创建一个自定义的精简Java运行时以及您的代码,可以在不同的计算机上执行。但是,它必须是相同的体系结构/操作系统;例如,您不能在macOS上运行Windows JVM,反之亦然。但是,.jar中的应用程序代码在这两种情况下都是相同的。

 类似资料:
  • 我正在使用Intellij Idea 11.1.3(我也在Eclipse中试用过)和JRE1.7。我的操作系统是Win7x64。 当我双击我使用IntelliJ创建的jar文件时,我的程序工作得很好。此外,当我执行命令“java-jar*.jar”时,它也起作用,其中*是我的jar文件的名称。 现在我想创建一个.exe文件,这样我就可以在其他计算机上运行该程序了。 我用Winrar打开了.jar文

  • 当我打开NetBeans时,我得到了以下消息。我已经安装了JDK,并在环境中设置了bin目录。我下一步能做什么来避免这个问题?顺便说一句,我用的是Windows764位。

  • 打开netbean时收到以下消息,这台电脑上找不到jdk。我已经安装了jdk,并在环境中设置了bin目录。顺便说一句,我使用的是Windows 10 pro 64位。 我已经在命令提示符中尝试过了。 但我得到了这个信息。 有人知道我能做些什么吗?谢谢。

  • 我制作了一个小snake游戏,并通过Eclipse将其导出到一个可运行的JAR文件中。 但是“普通”的人没有安装,只有可以在下面找到的JRE:http://java.com/en/download/index.jsp 这显然不足以执行JAR。我尝试过很多方法: 在JAR中打包库 在JAR中提取库 使用java 1.7构建 使用java 1.8构建 检查生成路径以确保包含库。

  • 我的程序中的主要endpoint处理大量数据,并最终创建Zip文件,其中包含具有几个子目录的父目录和几个文件(在子目录之间拆分)。将zip发送回客户端后,将删除在该过程中创建的所有内容,因为只有创建这些内容的作业才能启动zip文件。主要目标是将zip文件作为响应发送给用户。 就性能而言,有没有一种方法可以在不实际创建文件夹的情况下执行此逻辑

  • 我有一个可执行的JAR。我在我的终端安装了JDK,我给出以下命令从命令提示符运行我的exe JAR。 C: \用户\用户名\桌面\实用程序\最新版本 C: \用户\用户名\桌面\实用程序\最新版本 两者都在我的桌面上工作,但如果我尝试在只有JRE版本(1.8以后)的不同机器上运行可执行JAR,它就不会被打开。我尝试了以下链接,但有些链接是为了下载几个安装程序,但所有我不想得到的。有什么办法吗。还是