我正在尝试将我的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
不会显示。有什么办法可以理解错误并修复它吗?
更新:到目前为止,我最终阅读了玻璃鱼来源,这是非常的 耗时的。但到目前为止还没有找到答案。人性,这是 在我真正需要你帮助的极少数情况之一:)
答案 0 :(得分:1)
好的,这是非常愚蠢的,完全是因为我想跳过关于玻璃鱼的细节。
我的问题是我手动将<application>
添加到domain.xml
,完全确定它是手动完成的。我已经大量支持glassfish托管应用,重新部署,重新配置,但从未添加新应用。
asadmin
和server.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>