0

我们运行多个站点并使用 Maven 构建它们的代码。

每个站点都有自己的 pom.xml,有几个有子模块。

站点 B 依赖于站点 A 的子模块。

站点 B 在 .m2/repository 中找到此依赖项。

目前,站点 B 的 pom.xml 指定了依赖项名称和版本。

我们想知道如何根据我们的开发和发布过程来处理子模块的版本控制,以及与一个依赖于另一个站点 B 对站点 A 的子模块的站点相关的站点。

对于主站点,我们应该为每个快照和发布增加子模块的版本(保持所有内容都具有相同的版本号),还是仅在子模块更改时才更改子模块版本?

除了传达新版本,编辑站点 B 的 pom.xml,更新依赖版本,告诉站点 B 有新版本的子模块要查找之外,还有其他方法吗?

我们尝试从站点 B pom.xml 中的依赖项规范中删除该版本,但随后发现它查找的依赖项/子模块与站点 B 的代码具有相同的版本。

我猜我们可以在 Jenkins 中设置一些东西来在版本更改时更新 pom.xml 依赖项......但也许有更好的方法?

我刚看到这个,非常有帮助(例如“发布”和“最新”)...

如何告诉 Maven 使用最新版本的依赖项?

4

1 回答 1

0

如果您阅读链接的整个问答,您会发现 LATEST 和 RELEASE 可能存在很多问题,其中第一个问题是 Maven 3 不再支持它们。给出的答案提到versions-maven-pluginand maven-scm-plugin,这些可能有用如果这是您想要的,则进行自动更新。

如果你只是想知道什么时候发生了变化,版本插件有报告你可以作为site阶段的一部分运行来产生你想要的信息,然后你可以在合适的时候更新依赖关系。

<reporting>
    <plugins>
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>versions-maven-plugin</artifactId>
            <version>1.3.1</version>
            <reportSets>
                <reportSet>
                    <reports>
                        <report>dependency-updates-report</report>
                        <report>plugin-updates-report</report>
                        <report>property-updates-report</report>
                    </reports>
                </reportSet>
            </reportSets>
        </plugin>
    </plugins>
</reporting>
于 2013-08-01T13:45:53.650 回答