【问题标题】:launching jar file via desktop shortcut通过桌面快捷方式启动 jar 文件
【发布时间】:2011-07-06 02:29:52
【问题描述】:

我在C:\program files\My app\Data\ 中有一个 jar 文件 App.jar,在 C:\program files\My app\ 中有一个带有本机启动器的 JRE。启动器被编程为接受任何命令行args,并通过javaw -jar 调用将其传递给jar 文件。我创建了一个 MSI 包来安装整个东西,并将文件类型关联到启动器。双击关联文件时,JVM 会显示"Unable to access jarfile at 'Data\App.jar'"。但是,如果我使用相同的参数手动运行启动器,它就可以工作!救命!

【问题讨论】:

  • 重新阅读您的问题后,我可以看到您的相对路径“Data\App.jar”有问题,您必须指示启动器使用绝对路径,或设置“我的” app'执行'javaw -jar'命令之前的当前目录,你可以在windows中这样做。在命令行的下一个命令之前使用“CD C:\..\My app”。你解决了吗?
  • 是的,明白了....在 Qt 中重写了启动器并将 PWD 设置为文件夹,它完美地执行...谢谢...

标签: java command-line file-association


【解决方案1】:

我不太了解你的问题,但我认为这与你创建 MSI 包的方式有关,但无论如何,你可以看看:

http://jsmooth.sourceforge.net/

为了让您的 .jar 从 .exe 启动,此应用创建了一个包装器。

【讨论】:

  • 问题是,我在 My App\Data 文件夹中捆绑了自己的 VM。启动器旨在通过将 jar 文件作为参数传递来调用 bin 文件夹中的 javaw.exe。它还将关联文件的路径(如果有)传递给 jar 文件。例如,我在启动器中编写的命令是“Data\bin\javaw.exe -jar Data\App.jar C:\test.ext”。其中 App.jar 是我的 jar 文件,而 test.ext 是我的关联文件。当我双击 test.ext 文件时,javaw.exe 会给出错误消息。但是,当我使用相同的参数手动运行启动器时,它可以工作。例如。 launcher.exe C:\Test.ext.
  • 你有没有想过这个问题?我找到了使用 Target 的示例,但是当 Shortcut 嵌入到 File 标签中时,我不断收到错误消息。
  • 也许我对主要问题的第一条评论可以帮助你
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-26
  • 1970-01-01
  • 1970-01-01
  • 2017-10-14
相关资源
最近更新 更多