在 Eclipse 中制作的可运行 Jar,在没有安装 JDK 的情况下无法在 pc 上运行

Posted

技术标签:

【中文标题】在 Eclipse 中制作的可运行 Jar,在没有安装 JDK 的情况下无法在 pc 上运行【英文标题】:Runnable Jar made in Eclipse, Doesn't work on pc's without JDK installed 【发布时间】:2014-08-07 15:04:54 【问题描述】:

我制作了一个小蛇游戏,并通过 Eclipse 将其导出为可运行的 JAR 文件。

它在安装了 JDK 的机器上完美运行(关于环境变量等等。)

但是“正常”的人没有安装那个,只有可以在这里找到的 JRE:http://java.com/en/download/index.jsp

这显然不足以执行 JAR。我尝试了很多方法:

在 Jar 中打包库 在 Jar 中提取库 使用 java 1.7 构建 使用 java 1.8 构建 检查构建路径以确保包含库。

充其量我在另一台 PC(安装了 JDK 的那台)上得到“发生 Java 异常”。 然后我尝试通过 cmd 使用命令在我自己的机器上运行 JAR...

java -jar fileName.jar

...希望我能得到一个错误日志,但不,它只是像没有问题一样运行 JAR。

关于如何让 JAR 在安装了 JRE 的机器上运行的任何想法?

提前致谢

【问题讨论】:

看看***.com/questions/11033603/… 这些用户遇到的错误的详细信息是什么? 您遇到什么错误?那台机器有兼容的 JRE 版本吗? 听起来您正在使用一些仅在 JDK 中可用的类或工具。你能提供一个MCVE 来证明这个问题吗? 唯一可能有助于回答的是堆栈跟踪,请提供堆栈跟踪 【参考方案1】:

查看packr

打包您的 JAR、资产和 JVM,以便在 Windows、Linux 上分发 和 Mac OS X

【讨论】:

你能详细说明一下吗?这对我来说没有多大意义。 此工具将您的 jar 与虚拟机一起打包,因此您无需依赖用户或应用程序的 java 版本。我不会复制网页中提供的说明。 您可能是 SO 新手,但我们不会投反对票,因为我们不了解它们。只有当他们实际上是错误的或没有回答问题时,这不是我的情况。这不是 Reddit。【参考方案2】:

显然,为 jre7 构建解决了问题,为什么它不能运行 jre8,我不知道..

【讨论】:

【参考方案3】:

JDK 包含 JRE 中省略的 tools.jar(以及许多其他文件)。在您的项目中展开 JRE System Libraries 并确保没有任何库来自 JDK。

另外添加一些您所看到的确切错误的示例文本将真正帮助我们了解发生了什么。说“发生 Java 异常”相当于告诉医生您感觉不舒服。

无论如何,在代码中使用 JDK 中的类并不是一个好主意,因为它比 JRE 具有更严格的许可。

【讨论】:

我所做的只是将它从使用 jdk 1.8 更改为 jre7,现在在没有安装 jdk 的系统上一切正常。

以上是关于在 Eclipse 中制作的可运行 Jar,在没有安装 JDK 的情况下无法在 pc 上运行的主要内容,如果未能解决你的问题,请参考以下文章

Eclipse - JAR包制作

Jar runnable eclipse无法正常工作

如何制作批处理文件来运行java程序

Eclipse:如何使用外部 jar 构建可执行 jar?

为啥 Spring 项目的导出的可运行 JAR 不能在另一个系统中工作?

如何在fedora上从eclipse制作一个jar文件?