gpt4 book ai didi

Glassfish 应用程序在使用默认 Web 模块部署时显示空白屏幕

转载 作者:行者123 更新时间:2023-12-05 07:59:36 26 4
gpt4 key购买 nike

我多年来一直遇到 glassfish 的问题,我想是时候看看是否有其他人遇到过这个问题。所有版本 3 和最新版本 4。

我可以毫无问题地部署带有默认 Web 模块集的 Web 应用程序(不同服务器/构建上的不同实例)。 Web 应用程序启动并运行良好。

我遇到的问题是,一旦我必须重新启动服务器,只需重新启动 Web 服务器,只会显示空白屏幕,没有任何错误,也没有任何信息。然后我必须进入管理控制台,取消部署应用程序,停止 glassfish 服务器,重新部署,然后返回管理控制台并设置默认 Web 模块。

如果我没有设置默认的网络模块,我就不会遇到这些错误,我可以随意停止/启动/重新启动服务器而不会出现任何问题。只有当我指定一个默认的 Web 模块时,它才会显示空白屏幕。这对我来说是 100% 可重复的。

关于如何修复它有任何想法吗?发生这种情况时,需要很长时间才能让应用程序恢复运行。

最佳答案

经过大量研究,我发现了这里。空白页面意味着部署期间定义的上下文根被默认上下文根覆盖,默认上下文根是 glassfish 从正在部署的 WAR 文件的名称中获取的。

如果部署名称为 Application-1.0-SNAPSHOT.war 的应用程序从管理控制台或管理 GUI,您可以指定 contextroot作为:-

  1. /applicationglassfish-web.xml配置文件或
  2. 来自管理控制台 ./asadmin deploy --contextroot application path-to/Application-1.0-SNAPSHOT.war

只能通过输入 URL 从浏览器访问该应用程序 <domain-name>/Application-1.0-SNAPSHOT但您想要的是在您访问部署它的域名时加载您的默认 Web 应用程序。

要实现这一点,您必须使用 --name参数以确保您使用的部署名称与您想要的 contextroot 参数值相匹配

代替:

从管理控制台

./asadmin deploy --contextroot application path-to/Application-1.0-SNAPSHOT.war

你应该做的

./asadmin --name application deploy --contextroot application path-to/Application-1.0-SNAPSHOT.war

关于Glassfish 应用程序在使用默认 Web 模块部署时显示空白屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21319027/

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