【问题标题】:Reloading context in jetty在码头重新加载上下文
【发布时间】:2010-11-24 11:49:50
【问题描述】:

我有一个与上下文重新加载有关的问题。我做什么:

  1. 启动码头

  2. 将 war1.war 放入 /webapps --> 会触发一个新的 /war1 上下文并且它可以工作。

  3. 将 war2.war 放入 /webapps --> 会触发一个新的 /war2 上下文并且它可以工作。

  4. 假设我在war1.war的开发中做了一些改动。我想升级 /webapps 中的 war1.war,但 Windows 抱怨正在使用此文件。

  5. 我停在码头

  6. 我把新的war1.war放到/webapps --> 没问题。

问题 -> 如何在不关闭码头的情况下重新加载war1.war?

【问题讨论】:

    标签: jetty


    【解决方案1】:

    我认为您遇到了Files locked on Windows 中描述的问题:

    Jetty 为 web 应用程序缓冲静态内容,例如 html 文件、css 文件、图像等,并在使用 NIO 连接器时使用内存映射文件来执行此操作。问题是在 Windows 上,内存映射文件会导致文件被锁定,从而无法更新或替换文件。这意味着实际上您必须停止 Jetty 才能更新文件。

    有两种解决方案,都记录在上面的链接中:

    • 禁用内存映射;
    • 始终在部署时复制 Web 应用目录。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-04-29
      • 1970-01-01
      • 1970-01-01
      • 2021-09-12
      • 2015-08-15
      • 1970-01-01
      • 2014-09-05
      • 2017-07-08
      相关资源
      最近更新 更多