【发布时间】:2012-03-23 16:31:44
【问题描述】:
我有一个带有多个子模块的父 POM。对于其中一个,我在构建中添加了一个 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>
如果我在父模块下执行一个操作(例如,验证或安装),这些工作正常,并且正如预期的那样,echo 语句将为持有这个 antrun 任务的子 (#5) 运行。
但是,如果我转到子模块并从那里尝试 mvn validate,我会得到(传奇)
could not resolve dependencies for project...
失败。但是所有模块都存在于我的本地存储库中,并且它们是最新的。对于再次执行 mvn install 这个问题的通常解决方法并不能解决它。
对我来说这似乎是一个错误,除非其他人知道(到底是什么)出了差错。
克里斯
【问题讨论】:
-
只是为了确认——如果你暂时注释掉这个插件,依赖错误就会消失吗?如果没有,那么它找不到哪些依赖项?
-
是的,删除子pom中的条目,一切都很好
-
它抱怨什么依赖?希望那里有线索..
-
它抱怨父模块。这是另一个构建块所在的位置(例如,它包含 maven-compiler-plugin)。我当然不是夏洛克,但这对我没有帮助...:)
标签: java maven multi-module