【问题标题】:how to update class file after restart tomcat重启tomcat后如何更新类文件
【发布时间】:2018-04-25 06:02:17
【问题描述】:

我更改了几个java文件,并替换了tomcat\webapps\program\WEB-INF\classes中的文件。我重新启动tomcat后,据说tomcat会自动编译java文件并更新类文件吗?但是为什么我的类文件没有更新?我已经在 server.xml 中设置了 reloadable="true"

<Context docBase="Book" path="\Book" reloadable="true"

如果有人可以帮助我,不胜感激。

【问题讨论】:

  • 也许你的假设是错误的?
  • 您是否替换了文件然后重新启动了tomcat?如果是这样,操作应该会成功。
  • 我建议停止 tomcat --> 更新类文件 --> 启动 tomcat
  • 我已经检查过了,课程文件的日期不是最新的。意味着类仍然没有更新。我正在使用 tomcat 8,以防这可能是它不起作用的原因?
  • 酷,现在您需要将目标(类)位置更改为 tomcat WEB-INF\classes 并需要使用命令“catalina.bat jpda run”启动 tomcat,它将帮助您设置远程调试并在运行时更新 tomcat 中的类文件,如果您需要更多信息,请告诉我

标签: java class tomcat


【解决方案1】:

您也可以尝试在 server.xml 中设置 autoDeploy=true。这样你可能不需要重新启动tomcat。非常适用于您想要执行热部署的场景。

【讨论】:

  • 尝试将您的类文件打包成 WAR。然后不要直接在 WEB-INF\classes 文件夹中更新类文件,而是用包含较新类的新 WAR 替换旧 WAR。
【解决方案2】:

要在运行时将类文件拖放到 tomacat 上,请按照以下步骤操作 -

日食-

进入你的项目右键->构建路径->配置构建路径-> 单击此处的源选项卡-> 设置默认输出文件夹-> 单击 Bowse -> 创建新文件夹 -> 提供您的文件夹名称并单击高级 -> 检查文件系统中的链接文件夹 -> 浏览并选择 "WEB-INF\classes 路径"

这使您可以在 tomcat 上下文中删除编译类。

雄猫 -

转到 tomcat bin 文件夹 -> 在此处打开命令提示符并键入 catalina.bat jpda run 这将启动你的tomcat。

现在如果你想远程调试

进入eclipse项目右键->调试广告->调试配置-> 双击远程 Java 应用程序并单击调试按钮。

希望对你有帮助。

【讨论】:

  • 仍然无法正常工作。除了使用eclipse还有其他方法吗?
  • 你可以在上下文中直接复制粘贴类文件
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-05
  • 1970-01-01
  • 1970-01-01
  • 2012-09-01
相关资源
最近更新 更多