服务器 tomcat 未部署最新的 WAR 更改

Posted

技术标签:

【中文标题】服务器 tomcat 未部署最新的 WAR 更改【英文标题】:Server tomcat not deploying latest WAR changes 【发布时间】:2018-03-15 09:49:53 【问题描述】:

我是部署过程的新手。请给我建议。

我在我的开发机器中创建了一个 WAR 文件。然后在服务器机器上,我安装了干净且新的Tomcat。然后我复制了 WAR 文件并将其放在 webapps 下。然后我启动了服务器,它工作了。

后来我对代码进行了一些更改并创建了 WAR 文件并将其部署在 webapps 文件夹中。但它没有进行最新的更改。

我是按以下方式做的

1. Stopped tomcat instance by shutdown.bat
2. Placed the new WAR file in webapps.
3. Started the tomcat instance by startup.bat

仍然没有任何变化反映?可能是什么原因?

【问题讨论】:

你试过gui界面加载war文件吗 @VivekSingh,有什么不同? @Yakoob 有时tomcat 无法自动加载war 文件,因此您必须使用GUI Web 界面手动加载。它发生在我身上好几次。 @Yakoob 希望你知道如何配置tomcat管理器和设置规则。 @VivekSingh,我为 GUI 添加了角色并再次部署。但是现在项目本身没有运行 【参考方案1】:

手动部署: 要部署或重新部署war 文件,只需将war 文件放入Tomcat 实例的$CATALINA_HOME/webapps 目录即可。如果服务器正在运行,部署将在 Tomcat 解压缩存档时立即启动。

如果Tomcat没有运行,那么服务器会在下次启动时部署项目。

有时您需要停止 Tomcat 并从 $CATALINA_HOME/temp$CATALINA_HOME/logs 目录中删除所有内容,并从 $CATALINA_HOME/webapps 目录中删除 war 和相关的解压缩文件夹。之后,只需将您的战争复制到正确的位置并启动 Tomcat。

如果部署完成且没有错误,那么您可以在 tomcat 日志中看到以下消息:

OK - Deployed application at context path /myapp

否则会出现一条错误消息,说明错误的原因。

如果您需要更多帮助,我们需要查看 Tomcat 日志文件。

【讨论】:

【参考方案2】:

你应该清除tomcat的日志和临时文件

【讨论】:

【参考方案3】:

尝试检查 server.xml 中的 autoDeploy 标志。下面是这个标志的描述。

<Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true">

自动部署

此标志值指示 Tomcat 是否应在 Tomcat 运行时定期检查新的或更新的 Web 应用程序。如果为 true,Tomcat 会定期检查 appBase 和 xmlBase 目录并部署任何新的 Web 应用程序或找到的上下文 XML 描述符。更新的 Web 应用程序或上下文 XML 描述符将触发 Web 应用程序的重新加载。该标志的值默认为 true。

【讨论】:

哪里可以买到 TOMCAT_HOME/conf/server.xml【参考方案4】:

1)请检查您的战争文件大小。然后在 =apache-tomcat-9.0.53\webapps\manager\WEB-INF\web.xml 文件中更新。

2)从 POM 文件中删除依赖“javax.validation”

3)添加依赖 org.glassfish.web

4) 检查您的日志文件。并相应地修改依赖项。

【讨论】:

您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center。

以上是关于服务器 tomcat 未部署最新的 WAR 更改的主要内容,如果未能解决你的问题,请参考以下文章

自动部署批处理

在apache tomcat上部署war文件时未加载CSS和JS文件

在容器 tomcat 服务器上更改已部署(Spring Boot)war 的上下文路径。所以它不是 demo-0.01-SNAPSHOT

宝兰德部署war包以后访问不到页面

Tomcat 7 WAR 部署 - “jar 未加载”

Tomcat中部署web应用 ---- Dubbo服务消费者Web应用war包的部署