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

如何将参数传递给打包的java应用程序(.exe),java,Java,我需要打包一个Java程序,使其成为一个运行时不依赖已安装Java的exe。(据我所知,Launch4J或jpackage可以完成这项工作) 我需要通过命令行将参数传递给这个程序。 最后,我需要Java程序在调用应用程序中生成的结果 我该怎么做 位于exe中的Java是否可以访问命令行参数 我可以通过文件进行数据交换,如临时文件夹。 但是我不想使用固定编码的文件名,因为可能会有两个线程同时调用Java 谢谢你的想法 只能通过main方法声明的参数获得 public static void mai

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

我该怎么做

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

我可以通过文件进行数据交换,如临时文件夹。
但是我不想使用固定编码的文件名,因为可能会有两个线程同时调用Java


谢谢你的想法

只能通过main方法声明的参数获得

public static void main(String[] args) {
    System.out.println("params1:" + args[0] + "params2:" + args[1]);
}
在命令行中:


java参数(主类名称)arg0 arg1 arg2

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

它不接受say new system property-Dprop=value,但允许您将添加到命令行的所有参数传递到启动类的
main(String[]args)
,例如:

yourapp.exe arg1 arg2

不要使用
jpackage--arguments
,除非您希望这些参数也硬连接到exe中。请参见

尝试以这种方式在CMD.exe:xxx.exe param1 param2中启动如果它正常运行并满足您的需要,只需编写一个bat文件即可。