【问题标题】:WAR doesn't get redeployed in Glassfish from autodeployWAR 不会从自动部署中重新部署到 Glassfish 中
【发布时间】:2013-03-17 23:53:39
【问题描述】:

我第一次将 WAR 放在 domains/domain1/autodeploy 目录下时就能够部署它。但是,在进行了一些更改并将 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 中删除对我的应用程序的所有引用,但没有成功。这似乎是软件中的一个非常基本的错误。

【问题讨论】:

  • Glassfish 日志文件中是否有任何帮助?

标签: deployment glassfish-3 autodeploy


【解决方案1】:

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

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

希望对您有所帮助。

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

【讨论】:

    【解决方案2】:

    您可以通过 asadamin 取消部署:

    asadmin undeploy yourapplication
    

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

    一般来说,重新自动部署应该可以工作,但我建议使用普通部署方法或通过某些 IDE(如 NetBeans)进行增量重新部署...

    【讨论】:

    • 我试过你说的,但它告诉我不存在这样的应用程序。但是当我尝试重新部署它时,它告诉我它存在。 #困惑
    猜你喜欢
    • 2016-04-29
    • 2014-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-12
    • 1970-01-01
    相关资源
    最近更新 更多