1

尝试从两者部署到 Glassfish Server Open Source Edition 3.1.2.2(内部版本 5)NetbeansAdmin Console引发以下消息。尽管该Applications部分Admin Console没有部署的应用程序。我尝试重新启动域但没有成功。

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

我从我的-directory for中的一个简单grep-command开始。似乎这是在(我怎么会想不到呢?)中定义的。Glassfish"default-web-module"domains/domain1/config/domain.xml

第2步

里面domain.xml是这样的:

<applications>
    <application context-root="/" ...>
         ...
    </application>
    ...
</applications>

此外,这application会导致对先前部署在root-context="/". 回到家后,我会尝试删除它<application context-root="/" ...>...</application>(当然还有备份domain.xml)。希望这将解决问题,并且我将能够root再次部署!

4

4 回答 4

2

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

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

于 2013-05-11T09:06:50.967 回答
2

有2种方式:

  1. 来自 Glassfish 管理员。

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

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

<virtual-server id="server" default-web-module="web-module-name.war" network-listeners="http-listener-1,http-listener-2"></virtual-server>

并删除default-web-module属性。

于 2014-07-17T11:26:30.937 回答
0

问题是由于 glassfish 将任何新部署的 Web 模块分配给除 _asadmin 之外的所有可用虚拟服务器这一事实。如果任何一台服务器已经分配了默认的 Web 模块,您将收到此错误。解决方案是登录到您的 glassfish 网络管理员导航以configurations > server-config > Virtual Servers单击每个虚拟服务器并删除分配的默认网络模块。部署您的应用程序,然后将每个 Web 模块重新分配给其各自的虚拟服务器。

于 2019-06-27T03:08:00.660 回答
0

您还可以设置其他默认 Web 模块

asadmin set server.http-service.virtual-server.server.default-web-module=<name of the module>
于 2018-05-21T12:15:34.817 回答