忍受我,我从Ant迁移到Maven2:我想我已经击中了Ant中很容易实现的一些小东西,但在Maven中并非如此...Maven:本地开发部署vs捆绑分发
如何处理本地部署与创建用于分配的存档/束到另一台机器之间的区别?
我们假设我的项目输出是一个EAR加上一些额外的配置文件。一个开发商当前正在从事的项目将需要部署和频繁地重新部署到自己的本地应用程序服务器(比如JBoss的),而一个集成工程师正在建设QA /生产将只需要创建最终档案汇编(tar/gz)。
在Ant中,我们有两个目标:“dev-deploy”和“bundle”。两者都做了完整的构建,但在最后一步有所不同:“dev-deploy”将EAR和配置文件复制到各自的本地文件夹,而“bundle”仅将EAR &配置文件放入tar.gz程序集中。
你如何在Maven中做到这一点?
我已经看到程序集插件可以创建存档(tar,gz等)或分解目录(来自同一个程序集描述符)。我可以调用程序集:程序集或程序集:目录,但对于后者,如何将最终输出复制到本地JBoss部署文件夹?从related post看来,临时复制文件并不是真正Maven的意思,所以antrun副本可能是最合适的?
最后,由于装配的类型可能取决于谁调用它不同,它似乎并不明智绑定组件,以构建周期,不是这样呢?但是这意味着开发者总是需要调用'mvn包',然后'mvn程序集:目录'来重建和测试更改。相反,集成工程师将始终需要运行'mvn程序包',然后执行'mvn程序集:程序集'以创建可分发的归档。我希望为每个解决方案提供单一命令解决方案,还是应该编写脚本?
Thanks @Pascal。是的,我对任何事情都不太清楚:基本上,对于*开发人员*场景,我只是简单地将工件复制到同一台计算机上的某些文件夹(开发人员的PC),而对于集成工程师,我想生成一个程序集(tar.gz)他可以运送到另一台机器。你说得对,我忘了我可以将不同的装配配置绑定到我的配置文件。这似乎是最好的解决方案。 – 2009-12-21 10:34:31
+1 - 绝对使用具有独立程序集的配置文件来生成特定的构建工件,就像您所描述的那样。这是做到这一点的最佳途径。 – whaley 2009-12-22 03:38:58