【发布时间】:2019-05-04 21:53:33
【问题描述】:
我正在使用 jar 来运行一些代码作为程序 (OSX) 的助手。我想以编程方式打开这个 jar,并且一直在使用 ProcessBuilder 通过终端运行它。
但是,我想为 jar 提供一些参数(特别是文件位置,但这无关紧要)。我使用了java -jar jarName arg,但这不适用于没有安装 Java 工具的人。
我尝试使用open jarName --args arg,但 jar 无法识别 args。
作为测试,我现在只是使用下面的代码。
public static void main(String[] args) {
try {
// set a PrintStream to see the args presented
System.setOut(
new PrintStream(new FileOutputStream(new File(System.getProperty("user.home") + "/Desktop/argsTest.txt"))));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
System.out.println(argsSize: "+args.length");
for (String s : args)
System.out.println(s);
}
我可以尝试其他打开罐子的方法,只要它们在所有最新系统上都可用。
我在应用程序中打包了 JRE,有没有办法使用它?
【问题讨论】:
-
你需要安装 Java 才能运行一个 jar
-
Java 9 及更高版本的 JDK 包括
jmod和jlink工具,可让您创建一个独立的树(称为“图像”),其中包含一个运行程序的可执行文件。 jlink 的图像不需要用户安装 Java。