java - Maven 强制构建项目顺序

标签 java maven

我有一个如下所示的多模块项目

  • 家长
    • 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/

相关文章:

java - 无限跨9.1 : Unsupported async cache mode 'REPL_ASYNC' for transactional caches

java - 全局变量让我为空

JavaFX 部署应用程序的 CSS 样式问题

java - 如何从 Eclipse IDE 向 Tomcat 部署一个多 Maven 模块?

java - 我可以在不使用镜像的情况下为 eclipse 安装新软件吗?

java - 如何在 UTC 中倒计时到毫秒

JAVA:映射字符串键是什么意思?

java - Maven 部署 :deploy-file removes extension from file

java - 如何让插件执行使用Maven继承项目依赖

java - Maven中库依赖的两个版本