【问题标题】:Problem deplopying war on jetty 6在码头 6 上部署战争的问题
【发布时间】:2011-11-01 09:10:44
【问题描述】:

Jetty 无法解压缩我的 Wicket 应用程序战争并解压缩到临时目录。它能够毫无问题地解压缩示例战争。 我使用 Jetty 6.1.16 和 64 位 java 1.6 在 64 位 linux (Centos) 上有两个相同的安装。一个有效,一个无法解压缩/压缩战争并部署它。我使用 1.5 兼容性进行编译。我使用maven生成war文件。如果我部署 .war,我会收到一般错误 - 无法解压缩。如果我将 Web 应用程序解压缩到文件系统并将其部署到 Jetty,它就可以正常工作。

为了确保这不是权限问题,我以 root 身份运行它,但没有发现任何区别。

在部署为要提取的战争时,我实际上得到了 NoClassDefFound 错误。

我可以要求 Jetty 不要退出战争,但是当我这样做时,我会收到另一个错误...

org.apache.wicket.WicketRuntimeException: 无法加载初始化文件

原因:java.util.zip.ZipException:打开 zip 文件时出错

部署目录在输出中列出,但是当我查看它时,它是空的。奇怪的是 Jetty 附带的示例战争提取并且运行良好而没有错误,所以它似乎与我最终创建战争文件的方式有关(在 32 位 Vista 上使用 eclipse/maven 创建的战争)。但同样,它在另一台几乎相同的服务器上运行良好,这使得这不太可能。

在我把它全部拆掉并重新安装所有东西之前希望有人有一个现成的答案:-)。

【问题讨论】:

    标签: java linux 64-bit jetty


    【解决方案1】:

    听起来像是文件系统权限的问题。您是否确保运行 Jetty 的用户对应该提取 war 的目录具有写入权限?

    Jetty 确定将 Web 应用程序解压缩到何处的算法可能会选择 bunch of directories。您可能还应该对在该算法中起作用的变量进行健全性检查,并确保运行 Jetty 的用户对这些目录具有足够的读/写权限。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-01
      • 1970-01-01
      • 2023-03-03
      • 1970-01-01
      相关资源
      最近更新 更多