如何将参数传递给打包的 java 应用程序 (.exe)

ral*_*iii 5 java

我需要打包一个 Java 程序,使其成为一个不依赖于已安装的 Java 即可运行的 exe。(据我所知,Launch4J 或 jpackage 可以完成这项工作)
并且我需要通过命令行将参数传递给该程序。
最后,我需要 Java 程序生成的结果返回到调用应用程序中。

我怎么做?

exe 中的 Java 是否可以访问命令行参数?

我可以通过文件进行数据交换,例如位于临时文件夹中。
但我不想使用固定编码的文件名,因为可能会发生 2 个线程同时调用 Java 的情况......

感谢您的想法!

Dun*_*ncG 4

jpackage 生成的 EXE 的行为方式与原始应用程序相同,只是所有 Java / JVM 路径和选项都是不可更改的,因此内置 JVM 正在启动您的类。所有命令行参数都会被传递。

它不接受新的系统属性 -Dprop=value 但会让您将添加到命令行的所有参数传递给main(String[]args)启动类,例如:

yourapp.exe arg1 arg2
Run Code Online (Sandbox Code Playgroud)

jpackage --arguments除非您希望将参数也硬连接到 exe 中,否则请勿使用。请参阅打包工具用户指南