1

使用 Eclipse 4.2 我正在尝试部署一个包含在主动态 Web 项目和 Web 片段项目中的 Web 应用程序。

Web Fragment 需要一些主项目在编译时不需要的 jar 库(lib1.jar 和 lib2.jar)。要添加这些库,我有两个选择:

  1. 将它们放在 Java 构建路径中,每个都有一个条目
  2. 将它们放在 src 文件夹下的 WEB-INF/lib 文件夹中,并将“Web App Libraries”库添加到 Java Build Path

在这两种情况下,我都在 Java Build Path 的“Order and Export”选项卡中将库标记为已导出

当我发布使用 Tomcat 7.0.041 的相应服务器或导出战争时,我以以下场景结束:

  1. 情况 1 没有库(lib1.jar 和 lib2.jar)被复制到主 WEB-INF/lib 文件夹
  2. 在情况 2 中,两个库都被复制到 Web 片段生成的 jar 文件的 WEB-INF/lib 文件夹中,而该 jar 文件又被复制到主 WEB-INF/lib 文件夹中。

在启动服务器时,对于驻留在 lib1.jar 或 lib2.jar 中的类,在这两种情况下都会引发 ClassNotFoundException。

有什么方法可以部署 Web Fragment 项目所需的库,而无需手动将它们放入主项目中?

4

1 回答 1

2

我刚刚找到了我的问题的两步答案。

在上面的场景 #1 中,您必须转到 Web Fragment 项目属性,然后转到 Deployment Assembly,按“添加”按钮,选择 Java Build Path Entries 并选择要包含在 WEB 中的所有库-INF/lib 服务器的目录。

完成此操作后,在发布服务器或导出战争时,选定的库将被复制到 WEB-INF/lib。

于 2013-07-05T23:54:51.313 回答