编辑

编辑

我遇到了以下问题:我用 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_fileHKEY_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,就完成了)。所以,我已经束手无策了,如果您还有什么测试的想法,请告诉我。现在,我不再是为客户解决问题,而是对问题的真正所在产生了强烈的兴趣……

相关内容