如何创建ear文件,并在其中包含war和jar文件

时间:2013-03-04 08:07:42

标签: java java-ee

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

jar -cvf myServletWAR.ear . 

但我的问题是,如何让这个EAR文件中包含WAR文件和JAR文件?

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

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

6 个答案:

答案 0 :(得分:9)

我的一个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文件,所以你总是可以用这种方式创建它,虽然看起来很乱。

答案 1 :(得分:5)

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

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

答案 2 :(得分:4)

你可以试试这个:

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文件引用。

答案 3 :(得分:1)

如果您已经一起生成了客户端和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文件中,也可以添加.war文件的名称。

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

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

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

答案 4 :(得分:0)

<。> .jar文件到.ear

jar -cvf myApplication .ear myService.jar

.war文件,你可以用同样的方式将它添加到.ear文件中。

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

答案 5 :(得分:0)

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

选项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

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