我制作了一个maven模块,该模块仅用于复制一些文件并对其进行一些处理。其中没有Java或kotlin,但是它是JVM类型的模块。但是由于某种原因,在我现在做完之后,当我尝试从其他模块中进行jvm项目时,maven生命周期就会运行(我认为直到并包括phase:包)。为什么会这样呢?我只希望能够在该模块上手动运行MVN阶段。有人知道如何为此模块禁用它吗?
答案 0 :(得分:1)
所有阶段都针对所有模块运行。在根目录中运行mvn package
时,它将对package
中描述的每个模块运行从默认生命周期[1]到<modules>
的所有阶段。
但是阶段什么也没做。它们只是标签-将 plugins 绑定到这些标签[2]。因此,在一个阶段中完成的操作取决于与该阶段绑定的插件列表。
您可以尝试的方法:
packaging
更改为非jar。包装确定默认插件绑定的列表。这似乎是您的最佳选择。<modules>
中删除该模块,然后分别运行所需的任何插件。因此,此模块将从您的根模块中完全排除。 <plugin>
<artifactId>maven-compiler-plugin</artifactId>
<executions>
<execution>
<id>default-compile</id>
<phase>none</phase>
</execution>
</executions>
</plugin>