Glassfish无法在root用户部署,因为声明了default-web-module

尝试从NetbeansAdmin Console部署到Glassfish Server开源版3.1.2.2(版本5)时,会抛出以下消息。 尽管Admin Console的“ Applications部分没有已部署的应用程序。 我尝试重新启动域名但没有成功。

Exception while loading the app : java.lang.Exception: WEB0145: Unable to deploy web module [*module name*] at root context of virtual server [server], because this virtual server declares a default-web-module

是否有任何缓存或可以清空的东西,以清理根,以便我可以再次在根上下文部署我的应用程序? 谢谢你的帮助!

步骤1

我在Glassfish -directory上使用一个简单的grep -command开始使用"default-web-module" 。 似乎这是在domains/domain1/config/domain.xml (我怎么能错过这个想法?)。

第2步

内部domain.xml如下:

   ...  ...  

此外,此application还提供对以前在root-context="/"部署的applicationname的多个引用。 我一回到家,就会尝试删除这个... (当然还有domain.xml的备份)。 希望这将解决问题,并且我将能够再次部署到root

由于我遇到了问题,其他人也可能会遇到这个问题。 出于这个原因,我将回答我自己的问题,而不是删除它。

按照我在问题中提到的步骤,我注意到domain.xml的配置仍然引用了context-root="/"的应用程序。 从文件中删除此应用程序并保存后,我可以再次将应用程序部署到/

有两种方式:

  1. 来自Glassfish管理员。

    Configurations -> server-config -> Virtual Servers -> server 。 然后为“ Default Web Module属性选择空行并保存。

  2. 打开文件glassfish/domains/{your_domain_name}/config/domain.xml ,找到类似的行

  

并删除default-web-module属性。

您还可以使用其他默认Web模块

 asadmin set server.http-service.virtual-server.server.default-web-module=