版本包含在构建输出/摘要中的一些maven项目中

版本包含在构建输出/摘要中的一些maven项目中,maven,Maven,使用maven 3.5.4 我正在构建一个小型的多模块maven项目。构建成功完成并输出: [INFO] ------------------------------------------------------------------------ [INFO] Reactor Summary: [INFO] [INFO] sample 0.0.7-SNAPSHOT .................... SUCCESS [ 0.703 s] [INFO] sample-api .....

使用maven 3.5.4

我正在构建一个小型的多模块maven项目。构建成功完成并输出:

[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] sample 0.0.7-SNAPSHOT .................... SUCCESS [  0.703 s]
[INFO] sample-api ............................... SUCCESS [  4.131 s]
[INFO] sample-model 0.0.7-SNAPSHOT ............... SUCCESS [ 10.529 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
现在,为什么两个项目在摘要中包含项目的版本?我以前没有见过这种情况,我认为只有在项目名称中包含该版本时才会出现这种情况。例如,
示例模型
pom.xml仅包含:

<project xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>my.group</groupId>
        <artifactId>sample</artifactId>
        <version>0.0.7-SNAPSHOT</version>
    </parent>
    <artifactId>sample-model</artifactId>

</project>

reactor中的第一个条目和reactor中的最后一个条目的输出已在中介绍。

它显示每个后续子模块的版本,如果且仅当至少有一个模块打破了项目中的通用版本控制。另一方面,如果所有子模块都具有与父模块相同的版本,则它仅显示父版本(在父模块处)

例如,如果所有子模块中都有此版本:

<version>0.0.7-SNAPSHOT</version>
0.0.7-SNAPSHOT
Maven只会在父项目中显示一次版本

在您的例子中,api模块缺少
version
,因此maven将其视为通用版本控制中的中断,并显示所有子模块的版本

为什么api是空的?只是因为你没有

如果您有一个多模块构建,其中所有模块的编号都相同 模块仅在第一行和最后一行给出

如果您有大量的模块来获取 有关正在生成的版本的信息。这意味着在过去 向上滚动到最后一个模块并在那里查找版本


您可以查看此链接以了解更多详细信息

好的,但我为什么会得到混合结果?它使用一个maven版本构建项目
<version>0.0.7-SNAPSHOT</version>