【问题标题】:Why Tomcat library folder WEB-INF/lib is empty?为什么 Tomcat 库文件夹 WEB-INF/lib 是空的?
【发布时间】:2012-04-11 21:00:41
【问题描述】:

我在 Eclipse Tomcat 中使用 Spring MVC 部署我的 Maven webapp。整整一周一切正常。突然,今天我修改了一个属性文件,重新构建并重新部署了 webapp。有一个类未找到错误:

SEVERE: Error configuring application listener of class org.jasig.cas.client.session.SingleSignOutHttpSessionListener
java.lang.ClassNotFoundException: org.jasig.cas.client.session.SingleSignOutHttpSessionListener

查看位于工作空间文件夹中的Tomcat服务器插件的发布文件夹(tmp0),WEB-INF/lib中不再有jar。我不知道为什么?我今天已经重建/部署了很多次,没有发现任何问题。

有人可以给个建议吗?非常感谢。

编辑:

我找不到解决此问题的正确方法,但我暂时绕过它,从 Tomcat 服务器中删除 Web 应用程序,进行清理,然后重新添加。

【问题讨论】:

  • 您在属性文件中做了哪些更改,可以显示一下吗?
  • 我在 classpath:application.properties 中添加了一个条目。我认为这不是问题,因为在此之前我已经添加了另一个并且没有出现问题。 casClient.afterLogoutUrl=http%3A%2F%2Flocalhost%3A8084%2Fmyweb
  • 可能是 .class 文件损坏或 jar 中的问题
  • 我也有同样的问题。 web-inf/lib 文件夹为空。 m2e-wtp 版本是 0.16。 m2e 版本是 1.0.200。清理 glassfish 和重新部署对我不起作用。
  • 确保在进行清理之前删除 Web 应用程序。这是我使用 Tomcat 的正确方法。

标签: java eclipse tomcat maven m2eclipse


【解决方案1】:

您是否安装了 m2eclipse WTP 集成?您可以尝试以下几种方法:

  • Maven->更新项目配置
  • 关闭并打开项目
  • 从 WTP 中的 Tomcat 实例中删除项目,清理并重新添加。

根据您的 Eclipse 版本以及 m2eclipse/m2e 和 WTP,有时集成可能会很挑剔。

【讨论】:

  • 是的,我安装了 m2eclipse WTP 集成。我也觉得这种行为很神秘。我有时会遇到这种情况,唯一的解决方案是创建一个新服务器。
【解决方案2】:
  • 是否启用此选项?项目名称(右键单击)> Maven > 启用依赖管理 您应该在 ProjectName > properties > Java Build Path > Libraries 中有一个名为 Maven2 Dependencies 的项目
  • 您的 M2_REPO 变量设置了吗?窗口 > 首选项 > Java > 构建路径 > 类路径变量

如果一切正常,请检查 Maven 正在创建的战争以查看库是否存在以及是否在正确的文件夹 (web-inf\libs) 中。生成战争时检查 maven 输出。

【讨论】:

  • 当然 Maven2 依赖项和 M2_REPO 变量已正确设置。我在命令行中运行 mvn 生成的war文件中检查了文件夹 WEB-INF/lib,所有必要的 jar 都在那里。
猜你喜欢
  • 1970-01-01
  • 2017-01-22
  • 1970-01-01
  • 2015-10-23
  • 2010-11-29
  • 1970-01-01
  • 2012-10-04
  • 2011-08-03
  • 2011-02-20
相关资源
最近更新 更多