我有一个带有几个子模块的父 POM。对于其中一个,我在 build 下添加了一个 antrun 部分 - 目前这只是打印一个语句。此子模块依赖于整个集合中的其他模块(因此父模块有 8 个子模块 1 - 8,此模块(#5)依赖于 2 和 3)
antrun 部分的格式为:
<build>...
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.1</version>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks>
<echo>******************* Running generate </echo>
</tasks>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
如果我在父模块下执行一个操作(例如,验证或安装),这些工作正常,并且正如预期的那样,为持有这个 antrun 任务的子(#5)运行 echo 语句。
但是,如果我去子模块并从那里尝试 mvn validate 我得到(传奇)
could not resolve dependencies for project...
失败。但是所有模块都存在于我的本地存储库中,并且它们是最新的。对于再次执行 mvn install 这个问题的通常解决方法并不能解决它。
对我来说,这看起来像是一个错误,除非其他人知道(到底是什么)出了差错。
克里斯