Mojo开发 - 处理多模块项目中未解决的依赖关系
问题描述:
我有一个用@requiresDependencyResolution测试注释的mojo。Mojo开发 - 处理多模块项目中未解决的依赖关系
它适用于具有单层嵌套的多模块项目,但用户报告了如下结构的问题。
-- my_project
|
-- pom.xml
-- submodule1
|
-- pom.xml
-- submodule2
|
-- pom.xml
-- submodule21
|
-- pom.xml
-- submodule22
|
-- pom.xml
如果submodule21取决于submodule1行家报告
无法执行项目submodule21目标:无法解析 依赖项目org.my:submodule21:jar:1.0-SNAPSHOT:莫非 不找到神器org.my:submodule1:jar:1.0-SNAPSHOT
卸下requiresDependencyResolution =测试注释防止这个问题,但当时我没有访问Informa公司我需要mojo运行。
从github上的surefire代码的简短扫描,它看起来也使用requiresDependencyResolution = test,但能够在没有问题的情况下运行该项目。
从我自己的代码,唯一明显的区别是,它使用了Java注释,而不是老式的javadoc的。
万无一失的mojo如何实现这一目标?
我的代码是
示例项目显示问题
答
对于任何人的利益别人有这个问题 - 我终于解决了这个问题。这个插件没有问题。
surefire和我自己的插件之间的区别仅仅是它们运行的方式。 Surefire被绑定到测试阶段,我自己的插件直接通过调用目标来运行。当我将我的插件绑定到验证阶段时,所有事情都可以毫无问题地解决。
基于错误消息,我会假设在这个多模块构建中的依赖关系是不正确的,如果依赖关系正确的话,如果没有任何问题,通过* mvn安装将构件安装到本地存储库时应该可以正常工作* – khmarbaise 2013-03-06 13:00:42
This是我的第一个想法 - 但错误只发生在我自己的插件上,不一定会发生。如果项目在某种程度上不正确的设置,我希望这两个插件都显示相同的错误。 – henry 2013-03-06 22:28:19
您是否阅读了@requiresDependencyCollection的描述?也许你在处理链中太早,实际上依赖关系还没有放到类路径中? – user1050755 2013-03-20 04:43:25