【发布时间】:2013-07-03 15:36:14
【问题描述】:
使用 Eclipse 4.2 我正在尝试部署一个包含在主 Dynamic Web 项目和 Web Fragment 项目中的 Web 应用程序。
Web Fragment 需要一些主项目在编译时不需要的 jar 库(lib1.jar 和 lib2.jar)。要添加这些库,我有两个选择:
- 将它们放在 Java 构建路径中,每个都有一个条目
- 将它们放在 src 文件夹下的 WEB-INF/lib 文件夹中,并在 Java 构建路径中添加一个“Web App Libraries”库
在这两种情况下,我都会在 Java 构建路径的“订购和导出”选项卡中将库标记为导出
当我发布使用 Tomcat 7.0.041 的相应服务器或导出战争时,我以以下场景结束:
- 在情况 1 中没有库(lib1.jar 和 lib2.jar)被复制到主 WEB-INF/lib 文件夹
- 在情况 2 中,两个库都被复制到 Web 片段生成的 jar 文件的 WEB-INF/lib 文件夹中,而该 jar 文件又被复制到主 WEB-INF/lib 文件夹中。
在启动服务器时,对于驻留在 lib1.jar 或 lib2.jar 中的类,在两种情况下都会引发 ClassNotFoundException。
有什么方法可以部署 Web Fragment 项目所需的库,而无需手动将它们放入主项目中?
【问题讨论】:
-
我可以建议你看看Maven吗?如果您以前没有做过设置,那将是一些工作,但是您不必再担心依赖关系 :-)
标签: eclipse jar war eclipse-wtp