我有一个如下所示的多模块项目
- 家长
- child 1
- 子2
- 子3
- 集成
集成项目(pax-exam 测试)引用了 Child1 和 Child2,因此 rector 顺序为:
- child 1
- 子2
- 集成
- 子3
但需要在运行时拥有 Child3 (osgi-bundle),但由于尚未安装 Child3 而失败。
如果我在父 pom 的部分中最后指定集成项目,一切都会正常,但是一旦添加新项目,它将被添加到该部分的最后,并且会再次失败。
是否有办法强制最后构建/安装一个项目,即。此处确定的最重要的 react 堆顺序 http://maven.apache.org/guides/mini/guide-multiple-modules.html ?
我尝试过故障安全插件,但似乎只在当前项目内部的单元测试之后运行集成测试,而不是整个堆栈。
谢谢
更新:
我不想每次添加新的子项目时都向集成项目添加依赖项,只是为了让集成项目最后安装。然后,更容易记住将集成模块移到父 pom 模块部分列表的最后。
从 pax-exam 加载的 features.xml 文件已经处理了依赖关系。
最佳答案
项目之间的依赖关系应该在 POM 的依赖部分中处理。
如果您仅在运行时而不是在编译时需要依赖项,则添加
<scope>runtime</scope>
到依赖声明。
http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html
关于java - Maven 强制构建项目顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22635075/