【问题标题】:Eclipse 3.7/Indigo m2e WTP integration dependency issueEclipse 3.7/Indigo m2e WTP 集成依赖问题
【发布时间】:2011-10-30 00:24:11
【问题描述】:

我刚刚从 Helios 切换到 Eclipse Indigo,但在尝试使用 WTP 在 Tomcat 6 上运行支持 Maven 的 Web 项目时遇到了一些麻烦。

我遇到了 Tomcat 看不到 Maven 依赖项的经典问题。在 Helios 中,解决方法是通过以下方式将 Maven 依赖项添加到部署程序集: 项目属性 -> 部署程序集 -> 添加“Java 构建路径条目” -> Maven 依赖项

很遗憾,没有列出“Java 构建路径条目”选项,只有“文件夹”和“项目”。我不确定这是故意的,还是我的设置有问题。

为了消除外部因素,我使用以下设置:

  • Eclipse Indigo (Mac) 的全新安装
  • 全新的工作空间
  • 通过 Eclipse Marketplace 安装的 m2e WTP 集成
  • 创建新的 Maven 项目
  • 添加一些 maven 依赖项,以及一些使用它们的代码
  • 将项目转换为多面形式
  • 添加“动态 Web 模块”方面
  • Maven > 更新项目配置
  • 添加到 Tomcat 6 服务器
  • 在服务器上运行

此时,我看到了与我缺少的依赖项相关的 ClassNotFoundException。 如果我运行 'mvn war:war' 并将组装好的 'WEB-INF/lib' 目录包含在项目的部署程序集中,那么当然可以正确获取依赖项 - 可以快速修复,但并不理想。

我读到的与类似问题相关的大部分问题都归结为缺少 WTP 集成模块,但这对我来说似乎不是问题。

我是不是做错了什么?

【问题讨论】:

  • “新maven项目”的打包类型是jar还是war?
  • 包装是 JAR - 我已更改为 WAR,服务器现在可以正确部署!将此作为答案发布,以便我将其标记为正确 - 谢谢。
  • 发表评论作为答案。

标签: eclipse maven eclipse-wtp m2e


【解决方案1】:

看起来new maven project 的包装类型是jar。如果是这样,您可以将其更改为war 并尝试。

【讨论】:

    【解决方案2】:

    Strange behavior of Eclipse WTP deployment of dependencies in Tomcat server 中回答/讨论了另一个 WTP tomcat 相关问题(如果打包已经是 WAR 但未部署库)

    【讨论】:

      【解决方案3】:

      这是另一个解决方案: 修复 .classpath 文件

          <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
                 <attributes>
      -                   <attribute name="org.eclipse.jst.component.nondependency" value=""/>
      +                   <attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
                  </attributes>
          </classpathentry>
      

      【讨论】:

        【解决方案4】:

        右键项目

        1. 选择部署程序集 > 单击添加

        2. 从弹出窗口中选择Java build Path Entries,点击下一步

        3. 使用 Ctrl 和鼠标选择所有显示的库

        之后你会看到 .classpath 文件的变化。

        在服务器选项卡中再次发布您的项目。

        【讨论】:

        • 每次运行 Maven 更新时这些设置都会丢失。 m2e 插件会覆盖这些设置,因此在处理支持 Maven 的 Web 应用程序时它们几乎没有用......
        猜你喜欢
        • 1970-01-01
        • 2013-01-02
        • 2013-01-21
        • 2020-09-09
        • 1970-01-01
        • 2012-07-09
        • 2012-03-06
        • 2012-03-21
        • 2012-08-28
        相关资源
        最近更新 更多