我已经制作了一个带有战争文件的EAR文件,但是EAR文件包含WAR文件的LIB文件夹中的JAR文件。如何删除重复的JAR文件,这些JAR文件应该在哪里?在战争文件的LIB文件夹中或战争文件之外? (我在项目中使用了Maven耳塞和Maven War插件)。

有帮助吗?

解决方案

我终于想出了一种方法来通过在耳朵文件中生产瘦的战争文件来做到这一点。我受到此处的Maven-War-Plugin示例的启发瘦的战车

遵循示例的说明,我将所有JAR文件从战争模块中移出,并将其放入EAR文件中的LIB文件夹中。

因此,最终的耳朵文件结构将是:

  ear-app
   -- lib (all the jar files will be here)
   -- webModule1
      -- lib (empty)
   -- webModule2
      -- lib (empty)
   -- ejbModule

其他提示

如果您使用EJB档案和Web存档都使用的JARS,则可以执行以下操作:

  1. 将所有常见的罐子保持在.ear的根源
  2. 使用 Class-Path EJB和Web档案中的subtest.mf的属性,用于参考这些JAR文件。请记住,罐子的位置将相对于EAR文件的根。

即使您没有EJB罐子,上述步骤也将起作用。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top