【问题标题】:how to create ear file, and include war and jar files inside that如何创建ear文件,并在其中包含war和jar文件
【发布时间】:2013-02-18 06:41:29
【问题描述】:

我正在尝试从命令提示符创建一个 EAR 文件。我用过

jar -cvf myServletWAR.ear . 

但我的问题是,我怎样才能让这个 EAR 文件中包含 WAR 文件和 JAR 文件?

是否需要单独创建war文件并包含在ear文件中?

我不能为此使用 ANT 文件,因为这个项目的限制很少。

【问题讨论】:

  • 你使用maven还是Eclipse IDE进行开发?
  • 尝试将所有文​​件(即 jars、wars、application.xml 等)复制到某个目录(例如 ~/temp/build_ear),然后使用上面列出的相同命令,这应该工作。如果你需要一个衬里,你可以使用你的 bash 脚本。
  • 用java可以吗???

标签: java jakarta-ee


【解决方案1】:

你可以试试这个:

jar -xvf myServletWAR.ear

您也可以参考:

How to add a WAR file into an existent EAR file?how to I have two .war files within one .ear file?

您必须在 ear 文件的 application.xml 中添加这些 EAR 文件引用。

【讨论】:

    【解决方案2】:

    我的一个 EAR 文件的结构如下:

    app.ear
      - APP-INF
        - lib
          // libraries (.jar) here
      - META-INF
        - MANIFEST.MF
        - weblogic-application.xml
      - module1.war
      - customlib.jar
    

    此存档正在部署到 WebLogic 10.3。

    记住 .ear 只是一个 ZIP 文件,因此您可以随时以这种方式创建它,尽管它看起来很乱。

    【讨论】:

      【解决方案3】:

      检查 jar cmd 是否正常工作,如果是,则创建类文件和描述符等的 jar。

      之后jar -cvf <<earname>> <<files want to be in the ear >>

      【讨论】:

        【解决方案4】:

        .jar 文件转换为.ear

        jar -cvf myApplication.ear myService.jar
        

        .war 文件你可以用同样的方法把它添加到.ear 文件中。

        参考http://supportline.microfocus.com/Documentation/books/sx51/thdpoy10.htm

        【讨论】:

          【解决方案5】:

          如果您想从命令行创建耳朵,您可以尝试以下选项。

          选项 1. 使用 ant 构建并使用 ear 任务。按照stackoverflow question on ant ear task usage中的说明配置这个ear任务

          注意:如今,基于 Maven 的构建比 ant 更受欢迎。

          选项2。如果可以使用maven,configure your modules and use maven ear plugin 生成耳朵。下面的命令将能够生成耳朵。

          mvn clean package
          

          有关更多信息,请参阅有关 Java EE 项目的 maven 问题information on configuring war, jars for an ear

          【讨论】:

          • 什么意思?您是否在问是否可以使用“java jar”命令完成耳朵创建?如果是这样,是的。但人们通常使用 Maven 构建来创建耳朵。
          【解决方案6】:

          如果您同时生成了客户端和 EJB,它们会自动打包到企业存档文件 (.ear) 中,您不需要这样做。否则:

          • 将 EJB 的 .jar 文件打包到应用程序的 .ear 中。去做 这使用类似于以下的 jar 命令:
          jar -cvf myApplication .ear myService.jar
          

          如果您有一个客户端 .war 文件,您可以以相同的方式将其添加到 .ear 文件中。

          • 使用您的
            创建部署描述符 application.xml 应用服务器的工具或通过复制和编辑示例,如
            如下:

          • 找到一个示例 .ear,它位于

          • 的示例目录中
          mapdemo/mapdemo/repos/myService.deploy/JMapServ-WL.ear
          
          • 使用以下 jar 命令从 .ear 文件中提取描述符 application.xml:

          jar -xvf JMapServ-WL.ear META-INF/application.xml

          • 复制 application.xml 描述符并对其进行编辑,将 JMapServ 替换为您的 .jar 文件的名称。如果您将 .war 文件的名称添加到 .ear 文件中,您也可以添加该名称。

          • 将描述符放在包含 .ear 文件的目录的 meta-inf 子目录中。

          • 使用类似于以下的 jar 命令将描述符打包到 .ear 文件中:

          jar -uvf myService.ear META-INF/application.xml
          

          【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2013-10-06
          • 2014-08-20
          • 2012-02-12
          • 2010-09-13
          • 2014-01-17
          • 1970-01-01
          • 2019-10-04
          • 1970-01-01
          相关资源
          最近更新 更多