2010-11-26 48 views
1

我正在将现有项目转换为Maven &的构建和发布过程。 我的结构是这样的 ParentProj -Child1 -Child2 -ChildWeb3 -ChildWeb4使用Maven在单个远程服务器文件夹中传输Jar&Wars

我不知道什么Maven的最佳实践说,但我需要 1.要单独标记我所有的子项目 2当我转移到通过部署服务器(MVN发布:准备发布:执行-B),它创建排序库 我想打一个文件夹中把所有的罐子里面只有&没有其他文件 &战争远程服务器& 3.还有什么方法可以在我的远程服务器中执行shell脚本呃

等待你的指导

回答

1

你被要求做什么违背了Maven的公约和建议的最佳做法。记得,Maven的确建立和发布,而不是部署。是的,有一个部署目标,但该目标需要从构建或发布产生的构件,并将其推送到存储所有工件的版本的远程Maven存储库。该存储库结构就是为什么当您执行mvn发行版时,您的JAR和WAR文件最终位于不同的文件夹中:perform,这是要求maven执行mvn部署的另一种方式。

现在,如果您想保持Maven的做事方式,您应该编写另一个脚本(shell,Ant,您的选择)进行部署,从远程Maven工件存储库中获取这些JAR和WAR文件并将其捆绑随心所欲,并将其部署到您希望安装的服务器上。

现在,您可以将maven更改为您想要的内容,但是您必须创建另一个项目/模块,以您想要的方式捆绑JAR和WAR文件作为存档文件(tar,gzip,zip)。 Maven程序集插件是完成这项工作的工具。你可以找到更多关于汇编插件here。现在,请记住,mvn release:perform仍然会将归档文件推送到Maven存储库。您仍然需要一个部署脚本来从远程Maven存储库获取存档文件,并将其提取到要部署到的服务器。

+0

感谢您帮助我......我将遵循约定所说的话。 – Irshad 2010-11-30 09:32:30

相关问题