【问题标题】:Is there a way to deploy a jar without restarting in Tomcat 9?有没有办法在 Tomcat 9 中无需重新启动即可部署 jar?
【发布时间】:2017-08-26 21:24:58
【问题描述】:

我知道这个问题以前在这里提出过,但是这是关于 tomcat 9 的。

在最新的 tomcat 版本中是否有任何更改,允许在不重新启动 tomcat 的情况下部署 jar 文件?我们在开发中一直使用 tomcat 7,所有重新启动 tomcat 的开发人员都非常耗时。它的应用程序有 700 个内置到 .jar 文件中的 java 文件和大约 1000 个依赖于这些 .jar 文件的 jsp 文件,我们没有使用 war。可以使用 WatchedResource 吗?

【问题讨论】:

  • 你考虑过JRebel吗?
  • 我不是 Tomcat 专家;但是你为什么不部署一个WAR呢?哪些本质上可以在不重新启动 tomcat 的情况下重新加载?

标签: java tomcat jar


【解决方案1】:

只要 JAR 位于 WEB-INF/lib 而不是 CATALINA_BASE/lib 中,您始终可以重新启动 web 应用程序而不是 Tomcat 实例。

【讨论】:

  • 我没有使用 war deploy ,它们是普通的 jsps 和 jars ,所以不能正常工作?
  • 同样的方法,你有一个爆炸的应用程序。在 Tomcat 管理器中或通过 JMX 重新加载。
【解决方案2】:

如果您使用的是 Eclipse IDE,那么您可以简单地使用 FileSync 插件将 .class 文件热部署到 tomcat WEB-INF/classes 文件夹中。

基本上,您需要将YOUR_PROJECT/target/classes 文件夹映射到WEB-INF/classes,以便它们始终保持同步。

这是我们在项目中所做的,以避免由于源文件更改而重新启动 Tomcat。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-02-07
    • 1970-01-01
    • 1970-01-01
    • 2013-03-27
    • 2017-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多