2

[1个文件扩展名(.atb)和一个jar文件图片

这是有问题的 2 个文件的图片,一个 .atb 和一个 .jar

如果我只是单击 jar 文件,它会顺利打开我的程序,没有任何问题。如果我单击新建文本文档并选择“y”作为我的默认程序,它会显示:

留言图片

如果我使用 .txt 作为文件扩展名执行所有这些操作,它会说同样的内容,但仍然无法正常工作。

如果我在 Windows 7 中使用相同的设置完成所有这些操作,则一切正常。

当发生这种情况时,我还检查了我的事件日志,并以关键字“审核成功”的形式弹出,并显示文本:“尝试查询帐户是否存在空白密码。”

你知道是什么原因造成的吗?

4

3 回答 3

3

您不能关联文件扩展名来触发.jarWindows 上的文件。您可以在 Windows 上触发的唯一文件类型是.exe, .pif, .com, .bat, .cmd,因此.jar您可以触发.bat文件,然后启动文件,而不是触发.jar文件。

创建一个y.bat文件并将其放在您的y.jar文件旁边,并在其中写入以下代码:

@echo off
title y
start javaw -jar "C:\Users\SomeUsername\Desktop\y.jar" %1

您可以随意更改路径titley.jar只需记住路径必须是绝对路径。虽然这里真正的关键字是%1,即您单击的文件的实际路径。

您可以使用 % 后跟它在命令行上的数字位置来获取任何参数的值。传递的第一项始终为 %1,第二项始终为 %2,依此类推

批处理脚本中的 %* 指的是所有参数(例如 %1 %2 %3 %4 %5 ...%255)

现在您只需右键单击任何.abt文件并按“打开方式...”,记得选中“将此应用程序用于所有 .abt 文件”,然后浏览y.bat并单击“打开”。现在,每次双击.abt文件时,它都会启动您的.jar程序。


另外,在写完这个答案后,我写了这篇文章(Associate File Extension with Java Application) 。

于 2014-03-23T19:46:42.310 回答
1

您可以通过从命令行运行而无需 bat 文件(具有管理员权限)

assoc .xox=Xoxfile

ftype Xoxfile=C:\Program Files\Java\jre1.5.0\bin\javaw -jar c:\dev\work\y.jar %1

(更正当前 jre 的路径和 jar 的路径)。

由于 .txt 已经是 Windows 中定义的文件类型,我认为您可以跳过 assoc 命令并将上面的 Xoxfile 替换为

ftype "文本文档"=C:\Program Files\Java\jre1.5.0\bin\java -jar c:\dev\work\y.jar

但我只使用新的自定义文件类型完成了这项工作。

https://www.rgagnon.com/javadetails/java-0592.html

于 2021-03-17T01:57:48.510 回答
0

我在打开 .JAR 时遇到了一个愚蠢的问题。运行“java -jar MyApp.jar”后,我意识到它没有启动 gui,因为我的首选项文件与 .jar 文件不在同一路径中。

添加对 if(!file) 的检查然后创建新文件...该应用程序按预期工作并且变得更容易移植/共享。

于 2014-12-05T20:16:14.540 回答