我要求就如何配置我们的客户端/服务器版本提出建议。我们有一个客户端服务器架构。客户端和服务器的版本紧密耦合,意思是
目前他们没有分享父母pom。 我想知道从同一个分支编译Client和Server的最佳方法是什么。记住分支是一直创建的,开发人员可以使用参数化构建在私有分支上运行作业。
选项:
答案 0 :(得分:0)
您可以在同一个Maven构建中使用 modules 到aggregate客户端和服务器项目。您不必在继承意义上拥有父 POM,但是您需要多一个POM来聚合这两个项目。您需要以下目录/文件结构(通常所有POM文件都命名为pom.xml
,为了清楚起见,我在这里重命名了它们):
main-pom.xml
server/
server-pom.xml
client/
client-pom.xml
在main-pom.xml
中指定要在“模块”部分中构建的项目:
<modules>
<module>server</module>
<module>client</module>
</modules>
模块名称必须是目录名称。不要担心订单,Maven会根据依赖性来解决这个问题。
如果在客户端和服务器项目(版本,公共依赖项,插件等)之间共享属性是有意义的,那么可以将此方法与inheritance(真正的父POM)结合使用。