我在Eclipse 3.7.2中创建了一堆项目。让我们给他们的一些名字:在Eclipse WTP中传递项目依赖关系
- W(动态Web项目)
- A(某些库)
- B(有很多共同的东西,出库,所使用的其他项目也是如此)
项目A取决于项目B,因此B在A的构建路径中。项目W取决于项目A,因此我在W中添加了A作为部署程序集。
当我从Eclipse中导出WAR时,只有A的JAR文件被添加到WEB-INF/lib中。 Eclipse显示以下警告:
类路径条目/ B将不会导出或发布。运行时 可能导致ClassNotFoundExceptions。
该警告是正确的。我在运行时得到一个ClassNotFoundExceptions。当然,Eclipse为警告提供了一个快速修复,即“将关联的原始类路径条目标记为发布/导出依赖关系”。但是,这并不能解决我的问题。 B仍然没有与W部署。
我试着在B中手动添加B作为部署程序集。这包括A.jar中的B.jar,这不是我想要的,我仍然得到ClassNotFoundExceptions。
工作的唯一方法是手动将B添加为W中的部署程序集。Eclipse仍显示上面的警告,但运行时异常消失。
我是否错过了一些东西,或者这是真正实现这个目标的唯一方法吗?
你使用的是m2eclipse插件吗? 你使用maven build来生成战争吗? –
目前我没有使用Maven构建战争。这是我想在未来做的事情之一。在那之前,我正在用Eclipse构建战争,它是导出功能。 –
在A的构建路径配置中,尝试将B设置为“已导出” – miniBill