使用 JNLP / Webstart 打开文件

Open file with JNLP / Webstart

我正在尝试将文件路径作为参数传递给 Windows,以便在 JAVA JNLP 中打开。从原始 JAR 文件开始,我创建了一个包装器 BATCH 文件 runMyJar.bat:

java -jar "%~dp0MyJarFile.jar" %*

然后我配置 windows 使用我的 runMyJar.bat 打开所有 *.test 文件,效果很好:当我双击任何 *.test 文件时,它 运行 MyJarFile.jar 并传递 *.test 文件的路径。

现在我想对 JNLP 执行相同的操作,以使用 webstart 部署我的 JAR,但为我的应用程序提供 Windows Open with...。所以我的想法是再次提供一个 BATCH 包装文件:

javaws -open %1 "http://urlToMyJNLP"

不幸的是,这不起作用。当用一个文件启动这个包装器批处理时,我只是在我的 static void main 方法中为参数 args.

接收到一个空对象

感谢任何帮助。

更新
根据答案我总结了一下 here.

可能是由于 Java 的安全更新,您将参数传递给 javaws 的方法不再有效。

您是否尝试过在 jnlp 中使用 "association" 标签来实现您的目标?

另一种选择是使用属性传递参数,然后在 java 代码中读取 属性:

javaws -J-Djnlp.arg0=%1 thefile.jnlp