我有一个多模块 Maven 项目,该项目有一个“数据库”模块,可以拆除/设置所有后续模块的集成测试所需的数据库。因为它是一个脚本而不是 Java 模块,所以 Maven 无法解析任何依赖项,所以它似乎总是最后执行。
是否可以选择覆盖父 POM 中的执行顺序?
我有一个多模块 Maven 项目,该项目有一个“数据库”模块,可以拆除/设置所有后续模块的集成测试所需的数据库。因为它是一个脚本而不是 Java 模块,所以 Maven 无法解析任何依赖项,所以它似乎总是最后执行。
是否可以选择覆盖父 POM 中的执行顺序?
OK maven 显然尊重在父模块中指定的顺序模块,所以这很好用:
<modules>
<module>database</module>
<module>dao</module>
<module>business</module>
<module>web</module>
</modules>
最好的办法是创建一个像whatever-it 这样的单独模块,并定义对您的适当模块的依赖关系,从而自动定义执行顺序。这样可以确保始终以正确的顺序运行。不保证模块中给出的顺序。所以更好地使用依赖项。
查看这篇文章,了解 Maven 如何对模块进行排序。如果您的构建未遵循模块的顺序,则应该是由于帖子中的原因之一。
http://maven.apache.org/guides/mini/guide-multiple-modules.html