我有一个幽灵问题。我在我的安装包中包含了 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 界面。这是带有罕见的 Swing JDialog 的 Java 和 JavaFX。
我正在使用 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 隔离区中没有任何项目。我认为可以排除病毒扫描程序。这次又是在重启后发生的。也许我的后台进程没有正常结束?这会导致 Windows 删除 exe 吗?
这是我的问题还是与 Java 或 JavaFX 有关,我该如何预防?
最佳答案
已知 Javaw.exe 会触发某些病毒检查程序的误报;例如
http://java.com/en/download/faq/Trojan3.uj.xml
尝试查看病毒检查程序的隔离区/日志,看看可执行文件是否出现在那里。如果有,请更新您的病毒检查器并(如果问题仍然存在)联系供应商。
关于java - 为什么 javaw.exe 随机消失?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7655275/