我有一个使用java.awt.Desktop
的Maven项目。我已将其用于Google身份验证,因此我需要一些方法来打开Google登录和用户确认的浏览器对话框。
我在.jar文件中导出该库,我打算将它包含在许多Liferay Portlet中,在WEB-INF / lib中
如果我测试独立项目,从Liferay的Tomcat jre运行,一切正常,Desktop.isDesktopSupported()
返回 true 。
当部署在 Same Tomcat 上的portlet调用相同的库函数时,Desktop.isDesktopSupported()
会返回 false 。
因为在这两种情况下,我都使用相同的Java环境,为什么我会得到不同的行为?
另外,如果您知道打开浏览器窗口而不是使用Desktop.browse的替代方法,那么分享会很不错。
答案 0 :(得分:0)
仍然不确定为什么它不能在Servlet / PortletContext中工作。
解决方法是使用Java.lang.Runtime打开os浏览器,如演示here