【问题标题】:Eclipse stopped deploying any of the project's [maven] dependencies to tomcatEclipse 停止将项目的任何 [maven] 依赖项部署到 tomcat
【发布时间】:2013-08-06 14:58:40
【问题描述】:

这个问题我有一段时间了。我尝试了很多失败的事情,以至于我不得不切换到 netbeans 以便能够开发。但是netbeans缺少一些重要的特性,所以我真的需要这个才能在eclipse中工作。

从头开始: 我有一个“父”maven 项目,在我们的 svn 存储库中有几个模块。其中 2 个模块是我需要在 tomcat 服务器中部署的 Web 项目。这些 web 项目有几个依赖项,其中包括父 maven 项目的其他模块。

我在 eclipse ganymede 上运行了这个配置,但是 3 周前我开始在启动服务器时收到 ClassNotFoundExceptions,我不知道为什么会出现这种情况。

从那时起,我一直在尝试获取新的 Eclipse (Java EE) 包,但无论我怎么做,都会发生这种情况:

  • 我得到了运行 maven+svn 的 eclipse,并将我的 tomcat 安装添加到 eclipse 的服务器列表中。
  • 我查看了父项目,其中包括模块。 Eclipse 为我提供了完整的项目列表。
  • 废话开始:我无法将 2 个 Web 项目添加到 tomcat,它告诉我不能添加任何项目(意思是“你没有任何 Web 项目!”)。此外,我不能在 Servlet 类上选择“运行方式 -> 在服务器上运行”(“选择不包含任何可以在服务器上运行的资源”),即使它们明确扩展了 HttpServlet。由于我在这方面花费了太多时间,我发现了如何处理这个问题:将项目转换为项目属性中的“分面项目”。
  • 现在我可以将两个项目都添加到 tomcat 服务器了
  • 启动服务器时,我得到

    致命:加载 WebappClassLoader 时出错 上下文:/BEWeb 委托人:假 存储库: /WEB-INF/类/ ----------> 父类加载器: org.apache.catalina.loader.StandardClassLoader@55ae3b4d de.comp.utils.servlet.SInvokerServlet

  • 该类位于列为依赖项的模块之一中

  • 已部署项目的WEB-INF/lib 为空。根本没有库,maven 和/或 eclipse 并没有像 3 周前那样做。

我尝试弄乱.settings 以及.project.classpath 中的eclipse 文件,但没有任何用处。 有人可以指出我正确的方向吗?如果您需要我,我会从头开始做所有事情,这不会有什么不同,因为我已经做了很多次了(使用不同版本的 eclipse、maven、tomcat ......) 如果您需要我发布任何文件,我很乐意遵守。

由于这让我在相当长的一段时间内夜不能寐,所以我会悬赏这个。 到目前为止,谢谢。

=================================

编辑以回答即将出现的问题

只是检查一下:从命令行构建项目并手动部署它们确实有效,对吧?

是的,mvn package 工作正常,将 .war 文件复制到 tomcat 会导致应用程序正常工作,war 文件也包含所有依赖项。

当您说“获取新的 Eclipse (Java EE) 包”时,您的意思是您现在正在使用 Eclipse Indigo (3.7)?

是的。但是我在 3.5 中遇到了同样的问题,eclipse 版本的行为没有任何差异。

当您说“我在运行 maven+svn 的情况下运行 eclipse”时,您是使用 m2eclipse 还是使用 maven eclipse 插件生成 eclipse 配置?

我已安装 m2e 并使用“右键单击 -> Checkout as Maven Project”从 svn 签出项目。虽然存储库中没有特定于 Eclipse 的文件,但它们似乎是在结帐时生成的。 当我使用mvn eclipse:eclipse,然后关闭+重新打开项目时,我无法将它们添加到tomcat服务器(“没有可以从服务器添加或删除的资源”),这意味着eclipse无法将它们识别为web项目.

【问题讨论】:

  • 只是检查一下:从命令行构建项目并手动部署它们确实有效,对吧?
  • 当您说“获取新的 Eclipse (JEE) 包”时,您的意思是您现在正在使用 Eclipse Indigo (3.7)?
  • 当你说“我得到运行 maven+svn 的 eclipse”时,你是使用 m2eclipse 还是使用 maven eclipse 插件生成 eclipse 配置?

标签: eclipse svn maven dependencies war


【解决方案1】:

首先:不要将maven-eclipse-plugin和m2e/m2eclipse一起使用,两者不兼容。 m2e 应该能够导入您的 Maven 项目并按照 Eclipse 的预期进行设置。

您是否为 m2e 安装了 WTP 插件?这个blog post 可能值得一读。 如果您的任何 pom.xml 文件调用任何特定插件(例如用于代码生成),您可能需要相应的 m2e 插件。这个wiki post 可能会让您知道原因。

您可能会考虑的另一种尝试是设置基于 Helios 的环境。不过,请检查您可能需要的所有插件是否仍然可用。

希望这对您有所帮助。

【讨论】:

  • 解决了!!!这两个链接真的很有帮助。我错过了 m2e-wtp,配置我需要的所有插件真是一团糟。既然我答应了赏金,那我就等我能在这个问题上开始吧,那我就接受了!谢谢!
  • 你真好!我不得不说,这就是为什么我不会离开 Helios,直到我可以花时间确保我需要的一切都在 Indigo(或更高版本)中工作
  • 好了,来点美味的赏金吧!
猜你喜欢
  • 1970-01-01
  • 2012-10-07
  • 1970-01-01
  • 2012-02-11
  • 1970-01-01
  • 2012-05-20
  • 1970-01-01
  • 1970-01-01
  • 2011-10-03
相关资源
最近更新 更多