java - 公共(public) JAR 是否必须在 EAR 中的 WAR 中重复?

标签 java jakarta-ee enterprise-library

我有一个用于授权的 JAR 文件。我的每个 WAR 文件都需要它。所有 WAR 文件都打包在一个 EAR 文件中。我是否必须在每个 WAR 中重复这个通用 JAR,或者是否有通用库的结构?

所以我的例子看起来像这样......

big.ear
  - META-INF
    - MANIFEST.MF
    - application.xml
  - appl1.war
    - META-INF
      - MANIFEST.MF
    - WEB-INF
      - web.xml
      - lib
        - unique1.jar
        - unique2.jar
        - unique3.jar
        - common1.jar
    - jsps/html/etc
  - appl2.war
    - META-INF
      - MANIFEST.MF
    - WEB-INF
      - web.xml
      - lib
        - unique3.jar
        - unique4.jar
        - common1.jar
    - jsps/html/etc
  - appl3.war
    - META-INF
      - MANIFEST.MF
    - WEB-INF
      - web.xml
      - lib
        - unique5.jar
        - common1.jar
    - jsps/html/etc

我的每个WAR应用程序都可以看到common1.jar,但是它在EAR中出现了3次。

我可以将 common1.jar 放在 EAR 结构中的什么位置,以便 appl1、appl2 和 appl3 可以看到它而无需重复 3 次?

最佳答案

标准方法是将 JAR 放在 EAR 的根目录下,并在 WAR 的 META-INF/MANIFEST.MFClass-Path 属性中引用它们>。参见 this article .

检查容器的文档以确保它受支持。

关于java - 公共(public) JAR 是否必须在 EAR 中的 WAR 中重复?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/450965/

相关文章:

c# - 如果您的错误记录失败,您会怎么做?您如何测试它在生产中的工作情况?

datetime - Enterprise Library 5.0 - 应用程序日志记录 - 日期时间不正确

c# - 如何将自定义日志存储在使用diagnostics.wadcfg创建的Azure本地存储中

java - 如何吞掉 JSF 1.2/Mojarra 中的异常

java - 另一个 epl 文件中的 Esper 表达式

Java 集合 : what to convert Collection<List<String>> to ArrayList<List<String>> or List<List<String>>?

java - seam EntityHome 操作中的有线组件为 null

java - Android AlarmManager.setExact() 未触发

java - 在 arraylist 中设置元素也更新其他元素

java - CDI Activate 生产者打包在 jar 中