2013-03-04 129 views
13

我试图从命令提示符创建一个EAR文件。我已经使用如何创建ear文件,并在其中包含war和jar文件

jar -cvf myServletWAR.ear . 

但我的问题是,我怎样才能得到这个EAR文件在其中有WAR文件和JAR文件?

我是否需要单独创建战争文件并将其包含在ear文件中?

我不能使用ANT文件,因为这个项目没有什么限制。

+0

你用maven或Eclipse IDE的发展? – 2014-06-13 06:58:20

+0

尝试将所有文​​件(即jar,wars,application.xml等)复制到某个目录(例如〜/ temp/build_ear)中,然后使用上面列出的相同命令,这应该可行。如果你需要一个班轮,你可以使用你的bash脚本。 – eitanfar 2014-06-15 12:09:27

+0

是可以用java? – wissem46 2015-05-20 00:47:03

回答

9

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

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

这个档案被部署到的WebLogic 10.3。

Remeber .ear只是一个ZIP文件,所以你可以用这种方式创建它,尽管它看起来很混乱。

5

检查,如果罐子CMD工作如果是这样,创建你的类文件和描述符等的罐子

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

0

如果你想创建命令行的耳朵,以下是你可以尝试的选项。

选项1.使用ant build并使用ear任务。按照stackoverflow question on ant ear task usage

中说明的配置此耳朵任务注:基于Maven的版本比蚂蚁这些天更受欢迎。

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

mvn clean package 

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

+0

是可以用java? – wissem46 2015-05-20 00:47:12

+0

你是什么意思?你问是否可以使用'java jar'命令完成耳朵创建?如果是这样,是的。但人们通常使用Maven构建耳朵。 – 2015-05-22 19:59:23

0

如果您已经生成了一个客户端和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 
目录
  • 从.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 
+0

是可以用java? – wissem46 2015-05-20 00:47:19

相关问题