当前位置: 首页 > 知识库问答 >
问题:

WAR 不会从自动部署中重新部署在 Glassfish 中

仲俊豪
2023-03-14

第一次将WAR放在< code > domains/domain 1/auto deploy 目录下时,我就可以部署它了。但是,在进行了一些更改并将WAR重新部署到< code>autodeploy目录后,这些更改并没有生效。我甚至删除了< code > domains/domain 1/applications/myapp (其中< code>myapp对应于正在部署的< code>myapp.jar),但是WAR没有重新部署。服务器通过< code>asadmin启动和停止:

asadmin start-domain
asadmin stop-domain

我做错了什么,以至于应用程序没有重新部署

更新:我尝试手动(重新)部署(也使用 --force 选项)WAR,但在服务器.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|#]

我不知道如何注销/取消部署已部署的应用程序。我尝试删除域中对我的应用程序的所有引用。xml但它不起作用。这似乎是软件中的一个非常基本的错误。

共有3个答案

甄鹏云
2023-03-14

对于运行在Payara中部署的应用程序,同样的问题再次出现5.2021.10(可能适用于其他最新版本

每次< code>docker容器重新启动时都会出现这个问题——部署失败并显示一条消息:

名称为{Application ationName}的应用程序已注册。要么指定必须强制重新部署,要么重新部署应用程序。或者如果这是新部署,请选择不同的名称

可以通过强制重新部署来解决此问题。将类似以下内容放入应用程序映像的 Dockerfile 中:

ENV DEPLOY_PROPS="--force=true"

此环境变量允许为asadmin部署命令设置自定义参数。可以在生成部署命令的脚本中看到它的具体应用方式,该脚本正在容器的入口点内运行。

姬承教
2023-03-14

您可以通过asadamin取消部署:

asadmin undeploy yourapplication

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

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

祁鸿哲
2023-03-14

我知道这个问题很久以前就有答案了,但是如果有人像我一样通过谷歌找到这个问题,我有另一个可能的答案...

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

希望有帮助。

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

 类似资料:
  • 我已经在archlinux上安装了tomcat,我尝试了tomcat7和Tomcat8。根据包括官方文档在内的多个来源,部署WAR文件就像将其放入webapps文件夹(在我的示例中是/var/lib/tomcat7/webapps)一样容易。WAR文件被分解。但我不知道如何访问我的web应用程序。在localhost:8080上有一个tomcat网页。我还尝试了localhost:8080/nam

  • 我在Docker有个Jenkins集装箱。 当我成功构建某个东西时,我希望将其部署到一个glassfish docker容器中。 https://docs.oracle.com/cd/e19798-01/821-1757/ghgmi/index.html https://github.com/jenkinsci/postbuildscript-plugin

  • 在Tomcat中手动部署WAR文件 关于如何在internet上的Tomcat中部署war文件,有很多例子,但它只展示了如何在根目录中部署war文件。如果我想让我的应用程序所在的子目录名为“myfolder”,该怎么办。所以我的网址:https://localhost:8080/myfolder/index.html.我需要在webapps中创建一个名为“myfolder”的文件夹,并在那里部署我

  • 我在为Liferay创建portlet时遇到了困难。我有标准安装,Liferay门户位于中,插件SDK位于中。 我已经在liferay_home/plugins/portlet/my portlet中放置了新的portlet应用程序。从那里我运行,我可以看到WAR文件已成功组装并复制到。 然而,在运行的Liferay Portal instancel中,我没有看到刚刚复制到部署文件夹的portle

  • 我试图在独立的Tomcat服务器中部署我的Spring Boot应用程序(war),但每次我都得到一个关于Logger的错误。你对这个案子有什么想法吗? 正如您所看到的,我使用的是tomcat 8.0.24、Spring Boot 1.2.5.Release和java.Version1.7。 我的项目非常简单(它作为一个jar工作): 1.主APP: 2.控制器

  • 我在eclipse IDE中有一个ant项目。Ant build在dist文件夹中创建一个war。我将war复制到Tomcat webapps文件夹并成功部署它。现在,我将Tomcat添加到eclipse中,并尝试在这里部署war,它会忽略war文件。它没有给出任何例外bu也没有做任何有用的事情。下面是完整的Tomcat日志- 它是一个动态的Web模块项目。在Eclipse中设置Tomcat时是否