【问题标题】:Tomcat 7.0.52 server not extracting war file(compressed file) in webapps to uncompressed format when using export with EclipseTomcat 7.0.52 服务器在使用 Eclipse 导出时未将 webapps 中的 war 文件(压缩文件)提取为未压缩格式
【发布时间】:2014-04-22 00:09:41
【问题描述】:

我正在 Eclipse 中尝试简单的动态 Web 项目(使用 servlet),我正在使用 tomcat 7.0.52 服务器。要将应用程序部署到服务器中,我在 eclipse 中使用右键单击-->导出-->web-->War 选项。当我第一次导出战争时,会创建战争并成功解压缩。然后我在我的 servlet 中进行了一些修改(编译良好),我已经第二次导出了,现在战争已成功创建,但它没有解压缩到未压缩的文件。

【问题讨论】:

  • 您应该先取消部署当前应用程序,然后tomcat会由您重新部署它。这意味着,删除当前未压缩的文件夹并重新启动 tomcat。
  • @LuiggiMendoza 每次我不想重新启动服务器时..有什么选项可以让它成为可能吗?
  • 是的,只需在您的动态 web 项目中单击鼠标右键并选择 Run / As a web application... 然后它将为您部署它而无需创建战争。通常,您仅在将其部署到本地环境之外的另一个环境(如开发、质量检查或生产)时才创建 war 文件。
  • @LuiggiMendoza 当我将服务器集成到 Eclipse 时我可以尝试。但在这里我没有集成......而且我认为这不是 Eclipse 问题,它正在执行它的导出工作,但是服务器没有很好地提取它。
  • 那你得手动...

标签: java eclipse servlets tomcat7


【解决方案1】:

在 c/Program Files 之外安装 tomcat 让我解决了同样的问题。我认为在 Program Files 中创建新文件夹/文件的权限问题是造成此问题的原因。所以只需将tomcat安装到C盘或D盘的文件夹即可。

【讨论】:

    【解决方案2】:

    WAR部署通常是部署在另一台服务器(不是本地机器)

    让你自动部署战争:

    1) 确保您的 WAR 文件的文件日期比现有文件更新 2) 在您的 server.xml Tomcat 配置文件中,您的主机中包含 autoDeploy="true"unpackWARs="true".

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

    3) 在你的 server.xml 或 context.xml 中,确保 relaodable="true"。

    <Context docBase="myWarName" path="/myWarName" reloadable="true" />
    

    4) Tomcat 用户有权读取 WAR 文件。

    如果它是一台开发机器并且您正在使用 Eclipse,请创建一个动态 Web 应用程序,在 Eclipse 中创建 Tomcat 服务器并将您的项目部署在服务器上。启动服务器,它应该会自动保持同步(新的 servlet 除外)。

    【讨论】:

    • 步骤 3 不是必需的。 reloadable 属性与 WAR 的自动(重新)部署无关。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-16
    • 2023-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多