我第一次将它放在domains/domain1/autodeploy
目录下时,我能够部署我的WAR。但是,在进行一些更改并将WAR重新部署到autodeploy
目录后,更改未被提取。我甚至删除了domains/domain1/applications/myapp
(其中myapp
对应于正在部署的myapp.jar
)但未重新部署WAR。服务器已通过asadmin
启动和停止:
asadmin start-domain
asadmin stop-domain
我做错了什么,以至于应用程序无法重新部署?
更新:我尝试手动(重新)部署(也使用--force
选项)WAR,但在server.log
中遇到以下错误:
[#|2013-03-17T20:47:36.177-0400|SEVERE|glassfish3.1.2|javax.enterprise.system.tools.admin.org.glassfish.deployment.admin|_ThreadID=72;_ThreadName=Thread-2;|Application with name myprojectname is already registered. Either specify that redeployment must be forced, or redeploy the application. Or if this is a new deployment, pick a different name|#]
我不知道如何取消注册/取消部署曾经部署过的应用。我尝试删除domain.xml
中对我的应用的所有引用,但它不起作用。这似乎是软件中一个非常基本的错误。
答案 0 :(得分:8)
我知道很久以前就已经回答了这个问题,但是如果有其他人像我一样通过谷歌来到这里,我还有另一个可能的答案......
遇到同样的问题后,我发现以下内容...... autodeploy / .autodeploystatus目录仍然有一个文件引用我试图通过将war复制到autodeploy目录来重新部署的应用程序。我不得不删除autodeploy / .autodeploystatus目录中的文件,然后在将war复制到autodeploy目录时部署了我的应用程序。
希望有所帮助。
注意:显然,对于使用glassfish的其他人it is obvious,您必须从隐藏的.autodeploystatus目录中删除所有这些内容,以使您的重新部署工作。为什么这对他们来说很明显?我们可能永远不会知道。
答案 1 :(得分:3)
您可以通过asadamin取消部署:
asadmin undeploy yourapplication
您还可以访问glassfish管理控制台http://localhost:4848
并通过图形界面取消部署(查看应用程序)。
一般来说,重新自动部署应该可行,但我建议使用普通部署方法或某些IDE(如NetBeans)的增量重新部署...