4

我制作了一个带有war文件的ear文件,但是ear文件包含jar文件,这些文件已经在war文件的lib文件夹中。如何删除重复的 jar 文件以及这些 jar 文件应该在哪里?在war文件的lib文件夹中还是在war文件之外?(我在我的项目中使用 maven ear 插件和 maven war 插件)。

4

2 回答 2

3

我终于找到了一种方法,方法是在一个 ear 文件中生成瘦的战争文件。我的灵感来自这里的 maven-war-plugin 示例 skinny-wars

按照示例的说明,我将所有 jar 文件从 war 模块中移出,并将其放入 ear 文件中的 lib 文件夹中。

所以最终的ear文件结构将是:

  ear-app
   -- lib (all the jar files will be here)
   -- webModule1
      -- lib (empty)
   -- webModule2
      -- lib (empty)
   -- ejbModule
于 2010-11-30T06:06:26.713 回答
0

如果您有 EJB 存档和 WEB 存档都使用的 jar,那么您可以执行以下操作:

  1. 将所有常见的罐子放在 .ear 的根目录下
  2. 使用Class-Pathejb 和 web 档案中 manifest.mf 的属性来引用这些 jar 文件。请记住,jar 的位置将相对于 ear 文件的根目录。

即使您没有 EJB jar,上述步骤也可以使用。

于 2010-11-26T05:27:07.667 回答