我刚刚从 Helios 切换到 Eclipse Indigo,在尝试使用 WTP 在 Tomcat 6 上运行支持 Maven 的 Web 项目时遇到了一些麻烦。
我遇到了 Tomcat 没有看到 Maven 依赖项的经典问题。在 Helios 中,解决方法是通过以下方式将 Maven 依赖项添加到部署程序集:项目属性 -> 部署程序集 -> 添加“Java 构建路径条目”-> Maven 依赖项
不幸的是,没有列出“Java Build Path Entries”选项,只有“文件夹”和“项目”。我不确定这是否是故意的,或者我的设置是否有问题。
为了消除外部因素,我使用以下设置:
- 全新安装 Eclipse Indigo (Mac)
- 清新的工作空间
- 通过 Eclipse Marketplace 安装的 m2e WTP 集成
- 创建新的 Maven 项目
- 添加一些 Maven 依赖项,以及一些使用它们的代码
- 将项目转换为多面形式
- 添加“动态 Web 模块”方面
- Maven > 更新项目配置
- 添加到 Tomcat 6 服务器
- 在服务器上运行
在这一点上,我看到了与我缺少的依赖项相关的 ClassNotFoundException。如果我运行 'mvn war:war' 并将组装好的 'WEB-INF/lib' 目录包含在项目的部署程序集中,那么当然可以正确获取依赖项 - 可以快速修复,但并不理想。
我读到的与类似问题有关的大多数问题都归结为缺少 WTP 集成模块,但这对我来说似乎不是问题。
难道我做错了什么?