gpt4 book ai didi

java - 将 Maven 子模块部署到存储库以供其他项目使用(无父级)

转载 作者:行者123 更新时间:2023-11-30 11:39:24 25 4
gpt4 key购买 nike

问题是,在我们公司,我们有一个包含多个子模块的项目,但是其中一个子模块只是 API 声明的集合,供其他(第 3 个 praty)项目使用。我想将它保留为子模块,因为它更易于维护和构建(依赖性和属性继承)。该项目中的其他子模块也依赖于它。

我的问题是,如果存在执行部署阶段的良好实践或好方法,将只将该子模块上传到不同的存储库(也可以复制),而不依赖于父 pom .

我已经尝试过的:我已经检查了 deploy:deploy-file,但问题是涉及到 SNAPSHOT 构建时。我们希望能够发布 SNAPSHOTS 和发布版本,快照与发布版本有不同的存储库,但部署文件目标只能有一个 url 参数。我不想为快照部署使用不同的配置文件。如果版本是 SNAPSHOT,我尝试使用 maven build-helper 及其正则表达式属性来更改存储库 url,但由于插件和正则表达式的限制而无法这样做。

最后一个选择是我可以为此制作一个插件,但我想知道是否有更优雅的方式来解决这个“maven 方式”。

最佳答案

您可以单独部署此模块,但仅适用于 SNAPSHOT 的发布,这没有意义。模块的部署可以通过以下方式完成:

mvn -pl TheModuleYouWouldLikeToDeploy deploy

可能您需要添加选项 -am(也需要依赖项),例如:

mvn -am -pl TheModuleYouWouldLikeToDeploy deploy

除此之外,您的方法听起来不对,因为如果您使用的是多模块构建,为什么不通过 mvn deploy 部署整个构建?让我们通过像 Jenkins 这样的 CI 工具来完成这项工作可能会更好。

关于java - 将 Maven 子模块部署到存储库以供其他项目使用(无父级),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13289991/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com