6

我一直在寻找一种方法让用户将我的程序设置为默认打开文件一段时间,但一无所获。我有一个应该对 Mac、Windows 和 Linux 通用的程序,所以我不想使用只适用于一个操作系统的方法。那么如何让用户能够将 Java 应用程序设置为默认文件打开器呢?我会使用桌面类吗?

4

2 回答 2

0

没有 Java 不支持这一点。您必须为要支持的每个操作系统编写一个小应用程序,使用它的本地语言(c++、objective c 等),只要打开它就可以简单地启动您的 Java 应用程序。然后,您可以将该应用程序设置为默认程序。

于 2012-05-06T20:29:29.177 回答
0

它在stackoverflow上得到了回答: 使用Java应用程序作为特定文件类型的默认程序?

引用答案:

JAR 文件通常是不可执行的。也就是说,JAR 文件不是有效的 Windows 应用程序。JAR 扩展本身是否有与之关联的默认应用程序无关紧要,因为“开放动词”不会在其他“开放动词”定义中递归使用。

反而,

  1. 创建一个调用 java(或 javaw,视情况而定)的批处理(“.BAT”)文件(或小型 EXE 包装器),并将该可执行包装器用作“打开方式”程序。(如果使用批处理文件,这将有一个烦人的中间控制台窗口。)或者,
  2. 修改注册表,以便扩展的“打开动词”通过 java(或 javaw)启动 JAR。最后,任何一种形式都应该类似于:javaw -jar TheJarFile.jar "%1%"。(注意 javaw 是可执行文件,而 TheJarFile.jar 不是可执行文件。)

有关如何使用 java/javaw 的信息,请参阅 java - Java 应用程序启动器。

窗户就是这种情况。同样,在 Linux 和 Mac 上,您必须创建一个本地应用程序包装器来打开文件,并将文件的路径作为参数传递给您的 java jar 并运行该 jar。

于 2015-06-11T02:00:04.033 回答