使用Maven构建和部署J2EE应用程序的EAR文件

阅读: 评论:0

使用Maven构建和部署J2EE应用程序的EAR文件

使用Maven构建和部署J2EE应用程序的EAR文件

这篇文章。主要是技术上的整理,用来mark一下,用的时候參考。


一、新建项目

新建一个空的Maven Project项目



二、放入依赖

注:ear部署时假设里面有entity,会错误发生。所以不要把entity放到依赖项中。部署的时候先部实体,然后再部ear。

将须要打入EAR中的jar、war以dependencies-dependency的形式写到l文件里。如:



三、配置载入顺序

如今打出来的ear包中的application中仅仅有war的配置信息,而没有jar的配置信息,而我们假设想控制这些jar的配置信息,就必须把jar的信息配置到l中,而l是能够通过此插件生成的。所以在l文件里配置就可以。配置方式例如以下:


四、执行

假设如今打包,会报一个没有发现l的错误,这个文件须要我们自己创建么?答案是不须要:

1.       执行ear: generate-application-xml。会生成对应的l文件,以下是我的pom生成的l文件(格式有修改):



2.       同一时候。此命令还生成一个l的文件。里面简单一一句话,是说要JBoss依照l里面的声明顺序载入



3.       如今能够运行生成ear的命令了:ear:ear,坐等成功吧~~


五、 更改pom的packaging

如今假设你直接Install的话,会发现并非打成的ear,而是打了jar。须要将packaging改为ear就可以。

但改后会发现pom上面报错,你在eclipse应用广场搜一下m2e-wtp。然后安装就可以。

注:我的完整l

<project xmlns=".0.0" xmlns:xsi=""xsi:schemaLocation=".0.0 .0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId&b</groupId><artifactId>gxpt</artifactId><version>0.0.1-SNAPSHOT</version><relativePath>../l</relativePath></parent><artifactId>gxpt_a_ear</artifactId><packaging>ear</packaging><dependencies><dependency><groupId&b</groupId><artifactId>gxpt_entity_qx</artifactId><version>0.0.1-SNAPSHOT</version><type>jar</type></dependency><dependency><groupId&b</groupId><artifactId>gxpt_common_tool</artifactId><version>0.0.1-SNAPSHOT</version><type>jar</type></dependency><dependency><groupId&b</groupId><artifactId>gxpt_common_eao</artifactId><version>0.0.1-SNAPSHOT</version><type>jar</type></dependency><dependency><groupId&b</groupId><artifactId>gxpt_common_eao_impl</artifactId><version>0.0.1-SNAPSHOT</version><type>jar</type></dependency><dependency><groupId&b</groupId><artifactId>gxpt_mgr_qx_module</artifactId><version>0.0.1-SNAPSHOT</version><type>jar</type></dependency><dependency><groupId&b</groupId><artifactId>gxpt_mgr_qx_module_impl</artifactId><version>0.0.1-SNAPSHOT</version><type>jar</type></dependency><dependency><groupId&b</groupId><artifactId>gxpt_web_qx_module</artifactId><version>0.0.1-SNAPSHOT</version><type>war</type></dependency></dependencies><build><plugins><plugin><artifactId>maven-ear-plugin</artifactId><version>2.9</version><configuration><packagingIncludes>META-INF/**,**/gxpt_*.jar,**/gxpt_*.war</packagingIncludes><jboss><version>5</version><module-order>strict</module-order></jboss><modules><jarModule><groupId&b</groupId><artifactId>gxpt_entity_qx</artifactId><includeInApplicationXml>true</includeInApplicationXml></jarModule><jarModule><groupId&b</groupId><artifactId>gxpt_common_tool</artifactId><includeInApplicationXml>true</includeInApplicationXml></jarModule><jarModule><groupId&b</groupId><artifactId>gxpt_common_eao</artifactId><includeInApplicationXml>true</includeInApplicationXml></jarModule><jarModule><groupId&b</groupId><artifactId>gxpt_common_eao_impl</artifactId><includeInApplicationXml>true</includeInApplicationXml></jarModule><jarModule><groupId&b</groupId><artifactId>gxpt_mgr_qx_module</artifactId><includeInApplicationXml>true</includeInApplicationXml></jarModule><jarModule><groupId&b</groupId><artifactId>gxpt_mgr_qx_module_impl</artifactId><includeInApplicationXml>true</includeInApplicationXml></jarModule><webModule><groupId&b</groupId><artifactId>gxpt_web_qx_module</artifactId><includeInApplicationXml>true</includeInApplicationXml></webModule></modules></configuration></plugin></plugins></build>
</project>

六、部署到JBoss

1、首先确认你连接的仓库,默认的中央仓库上面是没有JBoss的包的。须要配置一下开源中国的私服库。

具体请查看:.html。官方给的配置非常具体。

2、配置Cargo

<plugin><groupId&dehaus.cargo</groupId><artifactId>cargo-maven2-plugin</artifactId><version>1.4.5</version><configuration><container><containerId>jboss51x</containerId><type>remote</type></container><configuration><type>runtime</type><properties>&username>admin</username>&password>admin</password><cargo.hostname>192.168.24.48</cargo.hostname>&i.port>1099</i.port></properties></configuration></configuration><dependencies><dependency><groupId>org.jboss.integration</groupId><artifactId>jboss-profileservice-spi</artifactId><version>5.1.0.GA</version></dependency><dependency><groupId>org.jboss.jbossas</groupId><artifactId>jboss-as-client</artifactId><version>5.1.0.GA</version><type>pom</type></dependency></dependencies>
</plugin>

3、将此项目运行clean install后,然后就能够运行cargo:deploy了。通过此命令就能够将项目部署到远程JBoss中了。


须要注意的一点。假设用到了spring,通过jndi查找ejb,那么

因为EJB在EAR中被部署后。绑定的JNDI前面会加上EAR的包名,如:

之前的CommonEao部署之后的JNDI名字为:common_EaoBean/remote,而如今会变成:gxpt_a_ear/commonEaoBean/remote;


七、总结:

做j2ee企业级开发。构建EAR是一项基本功。EAR仅仅是一种技术规范,依据不同的项目环境。会有不同的使用方法。在我们的项目中,适当的时候,会採用EAR作为作为组件的部署单位,让EAR包括一组EJB颗粒。起到分类的作用,同一时候也用于打包与组件相关联的辅助资源。配合Jenkins自己主动部署。使用maven cargo插件很便利的就能够将项目部署到远程的jboss中。






本文转自mfrbuaa博客园博客,原文链接:.html,如需转载请自行联系原作者

本文发布于:2024-01-31 15:04:57,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170668469829380.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:应用程序   文件   Maven   J2EE   EAR
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23