【问题标题】:How to make a .class file with dependencies into an executable file如何将具有依赖关系的 .class 文件制作成可执行文件
【发布时间】:2018-12-24 01:27:25
【问题描述】:

我对 java 还是很陌生,这是我第一次尝试制作一个无需安装 jdk 即可运行的程序。
所以我有我的 EditExcel.java 和 .class 以及 6 个 .jar 文件,这些文件通过导入导入到 EditExcel 文件中。

目前运行我需要使用的程序:

java -cp poi-4.0.1.jar;(some more jars);xmlbeans-3.0.2.jar;. EditExcel

执行我的 .class 文件。我试图让它在没有安装 jdk 的计算机上可用,所以我不能使用 java 命令。所以我想把它做成一个 .exe 或 .jar ,但我什至不知道从哪里开始以及如何去做。我不使用 IDE,但如果它太复杂/不方便,我会尝试一个。

首先,您会推荐使用 .jar 或 .exe 吗?我该如何开始?非常感谢您帮助我,如果这是显而易见的事情,我们深表歉意。

【问题讨论】:

  • 大多数将 Java 程序转换为“exe”(适用于所有情况)的解决方案基本上都是安装 JRE 和您的应用程序的安装程序。
  • 面对现实吧,Java 无处不在。 :-D 无论如何,关于您的 Q。我建议您使用 .jar。
  • "..一个无需安装 jdk 即可工作的程序。" 我能想到的唯一需要 JDK(与 JRE 相反)的情况是应用程序。正在使用JavaCompiler 或相关类。请注意,Oracle 现在应该提供一个打包工具,其中将包含应用程序所需的 JRE 的任何部分。运行。
  • 我现在用命令尝试了它:“jar cfe EditExcel.jar EditExcel EditExcel.class”,但正如预期的那样,我在点击 .jar 时收到 java.lang.NoClassDefFoundError:... 错误因为我不知道如何告诉 jar 它必须使用我文件夹中的其他 .jar 文件才能执行

标签: java windows executable


【解决方案1】:

我正在使用 Java Eclipse IDE Photon (4.8) 并制作一个 .jar 文件,您需要转到文件 > 导出。注意:并非所有编辑器都采用相同的方式。

你会看到这个:

https://i.stack.imgur.com/u68hh.png

进入 Java 后,将其展开并双击 Runnable JAR 文件选项:

https://i.stack.imgur.com/xUjQ3.png

之后,找到您要转换为 JAR 文件的包,其中包含 main 方法,将 JAR 保存在您想要的位置,并确保在屏幕截图中启用了第三个选项。然后完成:

https://i.stack.imgur.com/PpDEt.png

最后,通过命令提示符找到(使用 cd 命令)JAR 文件到您保存它的位置。使用以下命令运行它:java -jar jarfilename.jar

希望对你有帮助!

编辑:我的解决方案仅在 JRE 安装在运行它的一侧时才有效。这意味着他们的 PC 可能无法识别 cmd 中的 java 命令。

这是一个可能有帮助的链接:http://burnignorance.com/java-web-development-tips/run-jar-without-jre-on-windows-machine/

【讨论】:

  • 所以我安装了 Eclipse Java,但了解 IDE 中发生的事情似乎就像一个项目本身。在可运行的 JAR 文件导出中,我只能将导出目标设置为 .zip 文件或 .jar 文件。我唯一拥有的是一个普通文件夹,其中包含我的 EditExcel.class、EditExcel.java 和一些导入所需的 .jar 文件。所以我把我需要的所有东西都打包成一个 .zip 文件,但即便如此,Lauch 配置也只是一个带有空格的下拉菜单。
  • 导入所需的 JAR 文件,它们是 .java 文件顶部的 import 语句吗?你的代码在哪里?还是它们是充当项目外部库的外部 JAR 文件? .class文件不用担心,你不能运行它,也不是供人使用的。
猜你喜欢
  • 2016-05-12
  • 1970-01-01
  • 2012-05-11
  • 2019-01-02
  • 1970-01-01
  • 2016-02-09
  • 1970-01-01
  • 2020-04-09
  • 2011-04-14
相关资源
最近更新 更多