gpt4 book ai didi

java - 在没有 JDK 的 PC 上执行可运行的 JAR

转载 作者:行者123 更新时间:2023-12-01 20:20:00 25 4
gpt4 key购买 nike

我有一个可执行的 JAR。 Ofcouuser 我已经安装了 JDK,我给出以下命令从命令提示符运行我的 exe JAR。

1 使用 JRE :-

C:\Users\用户名\Desktop\Utility\latest>“C:\Program Files\Java\jre1.8.0_161\bin\java.exe”-jar Utility.jar

2 使用JDK

C:\Users\用户名\Desktop\Utility\latest>“C:\Program Files\Java\jdk1.8.0_161\bin\javaw.exe”-jar Utility.jar

两者都在我的桌面上运行,但是如果我尝试 #1 在只有 JRE 版本(1.8 及以上)的另一台计算机上运行可执行 JAR,则它不会被打开。我尝试了以下链接,但有些链接说要下载一些安装程序,但我不想得到它。有什么办法吗。或者我的可执行 JAR 存在问题?

How can I make my executable JAR not need JDK to run Run a JAR file using a specific JRE

list 版本:1.0Rsrc-Class-Path: ./commons-collections4-4.3.jar poi-3.17.jar poi-ooxml-3.17.jar xmlbeans-3.0.1.jar curveapi-1.06.jar poi-ooxml-schemas-3。17.jar poi-examples-3.17.jar poi-excelant-3.17.jar poi-scratchpad-3.17.jar commons-codec-1.10.jar commons-collections4-4.1.jar commons-logging-1.2.jar curveapi-1.04.jar junit-4.12.jar log4j-1.2.17.jar xmlbeans-2.6.0.jar ooxml-schemas-1.3.jar类路径:./commons-collections4-4.3.jar poi-3.17.jar poi-ooxml-3.17.jarxmlbeans-3.0.1.jar curveapi-1.06.jar poi-ooxml-schemas-3.17.jar poi-examples-3.17。jar poi-excelant-3.17.jar poi-scratchpad-3.17.jar commons-codec-1.10.jarcommons-collections4-4.1.jar commons-logging-1.2.jar curveapi-1.04.jarjunit-4.12.jar log4j-1.2.17.jar xmlbeans-2.6.0.jar ooxml-schemas-1.3.jarRsrc-主类:DataProcessor.DataProcessor.App主类:org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoade

最佳答案

听起来您遇到的问题不仅仅是没有 JDK 或不知道目标系统上的 JRE 位于何处,还在于您没有包含代码所具有的依赖项。

您拥有的 jar 文件包含 list 文件中的详细信息,该文件告诉 JVM 类路径和要加载的主类。如果您查看Rsrc-Class-Path,它会从当前目录添加 jar。如果您要发送包含预期位置中所有 jar 的整个文件夹结构,这很好。但它不适用于 jar 。

为了制作一个无需任何其他 jar 即可运行的 jar,您需要重新打包 jar。有两种常见的方法可以做到这一点

  1. UberJar - 项目的类与从所有依赖项中提取的类组合到一个 jar 中

  2. JarInJar - 将您的 jar 和所有依赖 jar 放入 jar 中,并使用自定义类加载器从 jar 内的 jar 加载类。

我不确定您使用的是什么构建工具,但对于 Maven 来说 Shade Plugin将创建一个 UberJar。

我个人建议使用 JarInJar 选项 reasonSpring Boot Maven Plugin这是我认为最简单的

关于java - 在没有 JDK 的 PC 上执行可运行的 JAR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58940736/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com