java - 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 的计算机上运行?
解决方案
您的程序可以在没有 Java 虚拟机的情况下运行,jdk
但需要一个jre
Java 虚拟机。
您可以在 Java 11 及更高版本上创建它,使用jlink
它创建自定义精简 Java 运行时以及您的代码,可以在不同的计算机上执行。但是,它必须是相同的架构/操作系统;例如,您不能在 macOS 上运行 Windows JVM,反之亦然。不过,您在 中的应用程序代码.jar
将是相同的。
推荐阅读
- dataframe - 如何在 Julia 中制作数据框列表?
- c++ - 模板函数成员的模板特化与类模板相结合
- android - 如何在 Kotlin 中使用 Room 数据库实现登录
- c# - 错误:“EventArgs”不包含“RowIndex”的定义
- python - 创建一个函数以每秒返回米
- spring - 使用内存消息代理处理 Spring Boot Web 套接字 STOMP 中的 ACK 帧
- javascript - 有没有办法在 vue.js 中绑定多个样式值
- javascript - 试图获取 APi 但它没有显示数据
- angular - 为用户执行期间动态添加的所有表单制作电子邮件验证器
- javascript - chrome 扩展错误:服务工作者注册失败