glassfish3部署错误:应用程序...已在此域中部署

时间:2018-03-27 11:08:01

标签: java deployment glassfish glassfish-3

我正在尝试将我的war文件部署到glassfish 3中,但它没有这样做:

./asadmin deploy --force=true myapp.war
remote failure: Error occurred during deployment: Application myapp is already 
deployed in this domain. Please use create-application-ref command to create 
application reference on target server. Please see server.log for more 
details.
Command deploy failed.

server.log 表示基本相同的消息,没有别的。我已经将日志级别设置为FINEST,它仍然是相同的,有很多关于解析web.xml然后繁荣的消息:

[#|2018-03-27T14:09:43.912+0400|SEVERE|glassfish3.1.2|javax.enterprise.system.tools.admin.org.glassfish.deployment.admin|_ThreadID=122;_ThreadName=Thread-2;|Application myapp is already deployed in this domain. Please use create-application-ref command to create application reference on target server|#]

但如果我取消部署 myapp ,则asadmin list-applications不会显示。有什么办法可以理解错误并修复它吗?

  

更新:到目前为止,我最终阅读了玻璃鱼来源,这是非常的   耗时的。但到目前为止还没有找到答案。人性,这是   在我真正需要你帮助的极少数情况之一:)

3 个答案:

答案 0 :(得分:1)

好的,这是非常愚蠢的,完全是因为我想跳过关于玻璃鱼的细节。

我的问题是我手动将<application>添加到domain.xml,完全确定它是手动完成的。我已经大量支持glassfish托管应用,重新部署,重新配置,但从未添加新应用。

asadminserver.log没有任何线索能够快速了解​​它,所以我在提示之前花了4个小时阅读玻璃鱼来源。最后,我删除了自己添加的<application>标记,一切正常。

答案 1 :(得分:0)

通过glasfish控制台进行部署

error>应用程序…已在此域中部署

  

应用程序>应用程序目标>管理目标

选择您的目标>保存

答案 2 :(得分:0)

我遇到了同样的问题,@dmitry的解决方案对我有用。

为了清楚起见,我必须从->模板中删除以domain.xml开头的行,以便能够自动部署无问题的设备;如以下片段所示:

  <servers>                                                                        
    <server config-ref="server-config" name="server">                              
->    <application-ref ref="portal" virtual-servers="server"></application-ref> 
      <application-ref ref="__admingui" virtual-servers="__asadmin"></application-ref>
      <resource-ref ref="jdbc/__TimerPool"></resource-ref>                         
      <resource-ref ref="jdbc/__default"></resource-ref>                           
      <resource-ref ref="jdbc/__derby"></resource-ref>                             
      <resource-ref ref="concurrent/__defaultManagedExecutorService"></resource-ref>
      <resource-ref ref="concurrent/__defaultManagedScheduledExecutorService"></res ... >

  <applications>                                                                   
->  <application context-root="/portal" deployment-time="3867" object-type="user" ... >
->    <property name="archiveType" value="war"></property>                         
->    <property name="cdiDevModeEnabled" value="false"></property>                 
->    <property name="appLocation" value="${com.sun.aas.instanceRootURI}/applic ... " >
->    <property name="defaultAppName" value="portal"></property>                   
->    <module name="portal">                                                       
->      <engine sniffer="cdi"></engine>                                            
->      <engine sniffer="security"></engine>                                       
->      <engine sniffer="web"></engine>                                            
->    </module>                                                                    
->  </application>                                                                 
  </applications>