2

我第一次将 WAR 放在domains/domain1/autodeploydir 下时就能够部署它。但是,在进行了一些更改并将 WAR 重新部署到autodeploy目录后,这些更改没有被拾取。我什至删除了domains/domain1/applications/myappmyapp对应于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但没有成功。这似乎是软件中一个非常基本的错误。

4

2 回答 2

11

我知道这是很久以前回答的,但如果其他人像我一样通过谷歌到达这里,我还有另一个可能的答案......

遇到同样的问题后,我发现以下内容...... autodeploy/.autodeploystatus 目录仍然有一个文件引用我试图通过将战争复制到 autodeploy 目录来重新部署的应用程序。我不得不删除 autodeploy/.autodeploystatus 目录中的文件,然后在将战争复制到 autodeploy 目录时部署了我的应用程序。

希望有帮助。

注意:显然,对于使用 glassfish 的其他人来说,很明显,您必须从隐藏的 .autodeploystatus 目录中删除所有这些内容才能让您的重新部署工作。为什么对他们来说很明显?我们可能永远不会知道。

于 2015-12-29T03:45:24.697 回答
3

您可以通过 asadamin 取消部署:

asadmin undeploy yourapplication

您还可以访问 glassfish 管理控制台http://localhost:4848并通过图形界面取消部署(查看应用程序)。

一般来说,重新自动部署应该可以工作,但我建议使用正常的部署方法或通过像 NetBeans 这样的 IDE 进行增量重新部署......

于 2013-03-18T14:40:36.477 回答