每当我在 java 文件中编辑时,我必须重新启动 apache 服务器以应用 class 文件中的这些更改

Whenever i edit in java file , i have to restart apache server for apply those changes in class file

每当我对 java 文件进行任何更改时,即使是很小的更改,我也必须一次又一次地重新启动服务器。更改不会发布到服务器。

这真的很花时间。 如何在不重新启动服务器的情况下在服务器中应用这些更改?

我试过在保存时自动发布,但还是不行。

我认为最简单的方法是让您的 eclipse 将 class 文件直接写入 tomcat webapp class 文件夹(即 $TOMCAT/webapps/YOUR_WEB_APPLICATION/WEB_INF/classes ).然后,允许 tomcat 检查 class 文件是否已更新,如果有则重新加载它们。

  • 要在 class 发生更改时允许 tomcat 自动重新加载 class,请更新

$TOMCAT_HOME/conf/context.xml

<Context reloadable="true"> 
  • 您的 Web 应用程序中还有更多内容需要更新 允许重新加载。在您的应用程序 web.xml 文件中添加 <web-app reloadable="true">.

理想情况下,要使更改生效,您必须重新启动服务器。完成它的唯一方法是通过编译 class 来替换特定的 class 文件,并手动替换 war 中的 class(假设你有一个 Tomcat).

在通常情况下,上述过程将花费几乎与部署新 war/ear 和重新启动服务器相同的时间。

PS:我个人不会推荐上述解决方案,因为它是一种 hack,在实际构建时您可能 运行 遇到多个问题。