我有一个 Java 应用程序,它使用捆绑的 Java 运行时(它不使用系统安装的 Java 版本)。
✅ 当我使用启动应用程序时
java.exe -jar myapp.jar
,应用程序运行良好⛔️ 当我使用启动应用程序时
javaw.exe -jar myapp.jar
,应用程序崩溃了- 应用程序日志显示突然停止,表明发生了硬崩溃。
我们已经将崩溃原因缩小到以下注册表项,该项由Oracle 企业单点登录客户端 11.1.2.3.2。
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Passlogix\Extensions\AccessManager\JHO]
"JavaHostNames"="javaw.exe"
- 当我们删除或重命名该
JavaHostNames
值时,应用程序就可以正常启动。 - 该崩溃在目标环境中的多台机器上可重现
- 如果信息有用,还有其他注册表项相邻
JavaHostNames
:Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Passlogix\Extensions\AccessManager\JHO] "Path64"="C:\\Program Files (x86)\\Passlogix\\v-GO SSO\\Helper\\Java\\ssojho64.dll" "Hook"="C:\\Program Files (x86)\\Passlogix\\v-GO SSO\\Helper\\Java\\jhohook.dll" "Path"="C:\\Program Files (x86)\\Passlogix\\v-GO SSO\\Helper\\Java\\ssojho.dll" "Hook64"="C:\\Program Files (x86)\\Passlogix\\v-GO SSO\\Helper\\Java\\jhohook64.dll" "JavaHostNames"="javaw.exe"
在互联网上搜索并没有发现太多信息,但是我找到了这个类似的错误:https://support.oracle.com/knowledge/Middleware/2791640_1.html[镜子]。不幸的是,没有公开的解决方法或解决方案(使用 Oracle 帐户登录没有显示更多信息)。
问题):
- 使用 Oracle SSO 的组织如何处理第三方 Java 应用程序崩溃?具体来说,是否有已知的环境解决方法使它们共存。
- 此注册表项的用途是什么
JavaHostNames
?为什么它会影响第三方 Java 应用程序?