Nic*_*uer 32 java maven-2 glassfish glassfish-3
我一直在尝试.war通过Maven 集成在GlassFish V3中部署java .虽然我找到了一些插件,但它们中没有一个看起来非常活跃:
我从Eskato的Blog获得了最多的信息,它是在2008年3月写的,所以我不知道GlassFish Maven集成的状态是什么,我也找不到合适的插件.使用Maven GlassFish插件我取得了一些成功,但它仍然无法完全满足它所支持的所有目标,这使得一些命令无效.
有没有其他人能够成功整合Glassfish V3和Maven?如果是这样,您使用了哪些资源来完成它?
Pas*_*ent 41
更新: CARGO-491已修复,我已相应更新了我的答案.总而言之,现在基本上有三种选择:
第一种选择是使用Maven GlassFish插件.此插件允许在Maven构建生命周期内与本地或远程GlassFish安装以及Glassfish域和组件部署的管理进行交互.
第二种选择是使用Maven Embedded Glassfish插件.正如其名称所述,此插件不依赖于现有安装,而是使用嵌入式GlassFish,与插件在同一JVM中运行.这个插件非常好,如果你想保持你的构建可移植(任何人都可以获得你的POM并运行一个涉及GlassFish的构建而不安装它),其功能几乎与普通的GlassFish安装相同,当然除了集群(你可以使用domain.xml如果你愿意,可以预先配置.有关示例,请参阅使用GlassFish Maven插件和JavaDB Embedded进行测试.
Kohsuke Kawagushi发起的工作最终集成在Cargo中,从Cargo 1.0.1开始,GlassFish 3.x现在得到了支持.因此,使用Maven Cargo插件是第三种选择.对于想要以不可知的方式与容器交互的构建,这将是有趣的.但我不确定Cargo是否允许GlassFish特定插件的所有灵活性(例如,部署JMS资源等).
maven-glassfish-plugin和maven-embedded-glassfish-plugin都有其优点和缺点.主要区别在于后者使用Embedded Glassfish实例,如其名称所示,即服务器在与插件相同的VM中运行.
因此,您无法使用maven-embedded-glassfish-plugin将WAR部署到独立的Glassfish服务器,您需要使用maven-glassfish-plugin来实现这一点.
我对maven-glassfish-plugin的主要问题是它与Glassfish服务器的交互是有状态的 - 我无法找到一种方法来使用它,这样无论如何我的WAR都会部署到服务器上,无论如何以前的构建是否成功.
如果已部署WAR,则glassfish:deploy不起作用.glassfish:如果未部署WAR,则redeploy不起作用.Maven没有if-else逻辑......
| 归档时间: |
|
| 查看次数: |
17739 次 |
| 最近记录: |