1

我按照以下说明在 Windows 中成功创建了一个自定义 URL 协议,该协议针对我创建的一个简单 jar,我可以通过执行此命令手动运行此 jar(java 在 PATH 中):

java -jar test.jar

但是当我打开一个使用我的自定义协议的 URL 时,它不会执行 jar,协议应该执行相同的命令,这就是它在注册表编辑器中的样子:

"C:\Program Files\Java\jdk1.8.0_152\bin\java.exe -jar C:\testFolder\test.jar" "%1"

如果我用一个文件替换 jar,.exe它可以正常工作,例如notepad.exe计算器,所以问题在于执行 jar。

4

1 回答 1

0
"C:\Program Files\Java\jre1.8.0_202\bin\java.exe" "-jar" "C:\Users\user\Desktop\DisplayStartArgumentsInFrame.jar" "%1"

是注册表项中的必需命令。我也在尝试使用 url 协议并且遇到了同样的问题。我不知道为什么,但它有效。

编辑:使用 javaw.exe 而不是 java.exe 来抑制终端。

于 2020-09-10T08:58:37.833 回答