gpt4 book ai didi

java - 同一 JRE 中的 2 个应用程序从 java.awt.Desktop.isDesktopSupported() 获得不同的结果

转载 作者:行者123 更新时间:2023-11-28 22:30:15 26 4
gpt4 key购买 nike

我有一个使用 java.awt.Desktop 的 Maven 项目。我将它用于 Google 身份验证,因此我需要一些方法来打开用于 Google 登录和用户确认的浏览器对话框。

我将该库导出到一个 .jar 文件中,我打算将其包含在 WEB-INF/lib 中的许多 Liferay Portlet 中

如果我测试独立项目,从 Liferay 的 Tomcat jre 运行,一切正常,Desktop.isDesktopSupported() 返回 true

当部署在同一 Tomcat 上的 portlet 调用同一库函数时,Desktop.isDesktopSupported() 返回 false

既然在这两种情况下,我都使用相同的 Java 环境,为什么我会得到不同的行为

此外,如果您知道打开浏览器窗口而不是使用 Desktop.browse 的替代方法,那么很高兴与您分享。

最佳答案

仍然不确定为什么它不能在 Servlet/PortletContext 中工作。

解决方法是使用 Java.lang.Runtime 打开操作系统浏览器,如 here 所示

关于java - 同一 JRE 中的 2 个应用程序从 java.awt.Desktop.isDesktopSupported() 获得不同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22557207/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com