我遇到了以下问题:我用 Java 为社区编写了一个程序,他们正在尝试运行它。他们安装了 Java 并尝试双击它,但什么也没发生。
在我的远程监督下,我们尝试了以下事情:
右键点击->打开方式->java(w)
控制面板 -> 默认程序 -> 将文件类型或协议与特定程序关联 -> .jar -> \path\to\java\bin\java(w).exe
在CMD中:
assoc .jar=jarfile ftype jarfile="C:\path\to\java\bin\java(w).exe" -jar "%1" %*
重新安装 Java 并重新启动后,以及删除注册表项后,上述所有问题再次出现[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.jar]
所有这些都已使用 java.exe 和 javaw.exe 进行了尝试。
它在 cmd.exe 中运行没有问题。java -jar program.jar
我还尝试使用创建批处理文件
@ECHO OFF
java -jar program.jar
它与我的程序位于同一目录中。我们也尝试过java.exe -jar program.jar
(在批处理文件中)。
使用java时,弹出cmd窗口,其他什么都没发生;使用javaw时,什么都没发生,只是鼠标光标切换到加载符号,然后又变回原样。之后就没有java进程了。
编辑
我给他们发了一封电子邮件,告诉他们从注册表中删除jar
和课程,但这没有帮助。jar_auto_file
HKEY_CURRENT_USER/Software/Classes
我刚刚又与社区通了电话,并试图获取有关程序崩溃原因的更多信息。因此,我们将其添加pause
到批处理文件中,但没有发生任何特殊情况(考虑到这台电脑的历史记录)。该文件如下所示:
@ECHO OFF
java.exe -jar progam.jar
pause
在执行该程序期间,一个控制台窗口弹出然后再次消失。pause
显然没有起作用......
我也尝试过使用cmd /k
而不是暂停 或者切换最后两行(首先cmd /k
然后java ...
)但无济于事。
最后一次尝试是手动启动 cmd 并执行cmd /k program.bat
(是的,批处理文件),看看它是否会给我一个错误消息。但它只是重复了 bat 文件的路径,仅此而已。
与此同时,他们在配置类似的 PC 上安装了 Java,然后它就正常工作了(安装了 Java,双击 jar,就完成了)。所以,我已经束手无策了,如果您还有什么测试的想法,请告诉我。现在,我不再是为客户解决问题,而是对问题的真正所在产生了强烈的兴趣……