2

我有鬼问题。我已经在我的安装包中包含了 Java,这样我就不必依赖已经拥有 Java 的用户。问题是 javaw.exe 时不时地消失在我的包中!双击我的桌面快捷方式后,我收到一条消息,说它找不到 javaw.exe,并询问我是否要删除快捷方式。我无法确认它,但我认为它只会在 PC 重新启动时发生。但不是每次重启。这就是使它成为鬼问题的原因。我无法追踪导致它的原因或它何时发生。

这在 Vista 上发生过多次,在 XP Pro 上发生过一次(到目前为止)。当它发生在 XP Pro 上时,我的快捷方式也发生了变化。javaw.exe被替换为java-rmi.exe。这可能是 Windows 寻找解决方案的结果......因为我没有找到任何模式来删除 .exe 时,我无法测试这个问题是否存在于 XP Home 或 Win 7 上。

捷径是:

"C:\Program Files\My Application\jre6\bin\javaw.exe" -jar "C:\Program Files\My Application\main.jar"

在我的包中有 3 个使用 Java 的进程。它们都是针对同一个 jar 的,不同的是,我添加--argument到最后以便运行 main.jar 的不同部分。

  • 其中一个进程(在我的问题开始出现在 Vista 上后添加)在用户登录时启动,它处理系统托盘图标。它使用 Java、Swing 和 JavaFX。
  • 一个从启动开始并以管理员身份在后台运行。这仅使用 Java。
  • 另一个是当用户单击其中一个快捷方式时运行的 GUI 界面。这是 Java 和 JavaFX 的一个罕见的 Swing JDialog。

我正在使用 Java 6 和 JavaFX 2 build 36 或 40(不确定如何确定我拥有哪一个)。我在 XP Pro 上没有任何病毒扫描程序。Vista 确实有 Windows Defender,但没有别的。在 Vista 上,我手动运行了扫描仪,但 javaw.exe 没有受到影响。我的隔离区域中没有任何项目,也没有迹象表明 javaw.exe 已被 Windows Defender 删除。

编辑:我尝试重命名javaw.exe为,myjavaw.exe但它再次发生在 Vista 上。Windows Defenders Quarantine 区域中没有任何项目。我认为可以排除病毒扫描程序。这一次,它发生在重新启动后。也许我的后台进程没有正确结束?这会导致Windows删除exe吗?

这是我的问题还是与 Java 或 JavaFX 有关,我该如何预防?

4

2 回答 2

1

众所周知,Javaw.exe 会触发一些病毒检查程序的误报;例如

http://java.com/en/download/faq/Trojan3.uj.xml

尝试查看您的病毒检查程序的隔离区/日志,以查看可执行文件是否已出现在那里。如果有,请更新您的病毒检查器并(如果问题仍然存在)联系供应商。

于 2011-10-05T23:43:18.997 回答
1

这已解决。

事实证明,我的卸载程序做得非常彻底。因为在卸载程序时我没有做好我的工作,所以卸载程序无法删除 javaw.exe 以及其他一些文件。然后它为下次重新启动创建了一个任务。但是我在下次重新启动之前重新安装了该程序。然后它删除了新安装程序的javaw.exe。

我现在正在做我的卸载过程(结束使用 javaw.exe 等的后台程序)。所以,这个问题已经停止发生。

谢谢你的其他建议。他们很有教育意义。

于 2011-11-08T15:03:20.277 回答