从自定义URL协议执行jar



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

java -jar test.jar

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

"C:Program FilesJavajdk1.8.0_152binjava.exe -jar C:testFoldertest.jar" "%1"

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

"C:Program FilesJavajre1.8.0_202binjava.exe" "-jar" "C:UsersuserDesktopDisplayStartArgumentsInFrame.jar" "%1"

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

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