gpt4 book ai didi

java - 如何从 JAR 创建 Windows 可执行文件

转载 作者:行者123 更新时间:2023-12-01 13:53:22 26 4
gpt4 key购买 nike

我有一个简单的 Java 程序(我们称之为 MyProgram.java),它执行一些 I/O、重命名一些图像、删除目录等。我一直在浏览 S/O 寻找一种简单的方法从命令提示符运行 Java 程序的 main 方法。我已将源代码编译到 jar 中,并尝试使用 Jar2EXE 向导,但是我不断收到意外的编译错误,而从 IDE 运行代码时却没有收到此错误。

是否有人拥有他们已经成功使用的 Jar -> EXE 转换器解决方案,或者可以指导我如何从批处理文件运行我的程序?

最佳答案

[..]or can walk me through how to run my program from a batch file?

最简单的方法是执行:

java -jar YOUR_JAR_FILE.jar

在你的批处理文件中。但是,这需要您的 jar 文件中存在一个 list 文件,该文件指定要使用的 Main 类及其依赖的 jar 文件。如果您不想使用 list 文件,您可以手动指定这些内容。如果你不依赖外部jar文件,你可以执行:

java -cp YOUR_JAR_FILE.jar some.package.Main

这将执行 YOUR_JAR_FILE.jar 中包含的类 some.package.Main 中的 public static main(String[] args) 方法。

如果您还依赖其他 jar 文件(在您的情况下为 IOUtils/FileUtils),请同时指定这些 jar 文件:

java -cp YOUR_JAR_FILE.jar:library1.jar:library2.jar some.package.Main

(在您的情况下,library1和library2分别是IOUtils和FileUtils)。

您可以指定任意数量的 jar 文件,还可以使用通配符 *.jar 来包含当前(或另一个)目录中的所有文件。但请注意,您不能编写 *x*.jar 等。仅接受 *.jar(或 some/directory/*.jar)。

在 90% 的情况下,jar 文件的顺序没有任何区别。然而有时它确实会有所不同:如果从类路径加载资源(可以是类或简单的配置文件),则按照您指定的顺序搜索 jar 文件。如果某个资源存在于多个 jar 文件中,则仅使用找到的第一个。

关于java - 如何从 JAR 创建 Windows 可执行文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19791596/

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