首页 > 解决方案 > IntelliJ 创建的 jar 文件在没有 jdk 的计算机上不起作用

问题描述

我认为这个 stackoverflow 问题已经有了我的答案:IntelliJ runnable jar doesn't work on other computer 这个问题的答案表明大多数 IDE 可以自动包含所需的 java 库,以使 jar 在没有 jdk 的情况下可以在 pc 上运行。我的问题是,我可以确保在 IntelliJ 中的什么位置包含这些库?

在我的项目中,java 15 jdk 已经显示为外部库:link to screenshot

这是我的工件设置的样子:链接也许我需要在这里改变一些东西?

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

标签: javaintellij-idea

解决方案


您的程序可以在没有 Java 虚拟机的情况下运行,jdk但需要一个jreJava 虚拟机。

您可以在 Java 11 及更高版本上创建它,使用jlink它创建自定义精简 Java 运行时以及您的代码,可以在不同的计算机上执行。但是,它必须是相同的架构/操作系统;例如,您不能在 macOS 上运行 Windows JVM,反之亦然。不过,您在 中的应用程序代码.jar将是相同的。


推荐阅读