Maven工作区分辨率缺少用于本地Tomcat测试的jar

时间:2011-01-13 17:19:26

标签: m2eclipse maven-3

我有一个mavenized项目,依赖于我的团队目前正在进行的另外4个mavenized项目。我们启用了“工作区分辨率”。

如果我发布到Tomcat,4个项目的jar不可用,所以我看到了各种NoClassDefFoundError异常。 我没有看到JUnit测试或打包有任何问题。 (我运行包目标,生成的war文件包含我期望的SNAPSHOT罐子。)

我看到很多人都主张使用工作区解析,但是如果我们需要在T​​omcat中测试,我们应该禁用它吗?或者我还缺少什么?

我们使用Eclipse Helios,m2eclipse插件,Maven 3.0.3。我甚至安装了m2extras,看看是否有帮助,但我没有看到任何差异。

由于

2 个答案:

答案 0 :(得分:0)

可以让这个设置正常工作(我们一直在使用相同的工具链和设置)如果您在使用m2eclipse目标构建之后可以使用一些手动刷新。< / p>

问题是,并非所有通过m2eclipse构建到工作区项目的外部更改都会正确地与tomcat中部署的Web应用程序同步。

因此,如果您在通过m2eclipse构建之后遇到NoClassDefFoundError异常,则以下内容应该有所帮助(并非所有情况都是必需的):

  • 对您的maven项目执行项目/清理
  • 对您的maven项目进行刷新(F5)
  • 清理已部署的Web应用程序(服务器上下文菜单)

是的,它很麻烦,但可以忍受它。

答案 1 :(得分:0)

  1. 从工作区中删除依赖项目。
  2. 删除.settings目录和.project文件。
  3. 再次导入项目。
  4. 更新所有项目中的maven依赖项。