我正在尝试从命令提示符创建一个EAR文件。我用过
jar -cvf myServletWAR.ear .
但我的问题是,如何让这个EAR文件中包含WAR文件和JAR文件?
我是否需要单独创建war文件并包含在ear文件中?
我不能使用ANT文件,因为这个项目的限制很少。
答案 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)中,您无需执行此操作。否则:
jar -cvf myApplication .ear myService.jar
如果你有一个客户端.war文件,你可以用同样的方式将它添加到.ear文件中。
使用您的
方法创建部署描述符application.xml
应用程序服务器的工具或通过复制和编辑样本,如下
如下:
找到示例.ear,位于
mapdemo/mapdemo/repos/myService.deploy/JMapServ-WL.ear
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 -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问题。