gpt4 book ai didi

java - Java项目的定制构建生命周期

转载 作者:行者123 更新时间:2023-11-30 06:28:39 25 4
gpt4 key购买 nike

在一个 Maven 项目上工作时,我遇到了一种相当奇怪的依赖关系循环:有两个 Maven 模块,其中一个正在检测 Java 字节码,同时使用断言(用于单元测试目的),定义在另一个模块中,该模块又应该由第一个模块进行检测。

所以,这不仅仅是一个循环,它是分布在 Maven 阶段之间的循环。我通过重新组织Maven模块的方式未能解决这个问题,我怀疑这种情况是否可能。

此问题的假设解决方案可能是通过以下方式重新组织构建生命周期:

  1. 编译第一个模块的源代码
  2. 编译第二个模块的源代码
  3. 使用第一个模块的类来检测第二个模块
  4. 测试第一个和第二个模块
  5. 将它们打包
  6. 安装/部署它们

我怀疑 Maven 是为此类黑客而设计的。其他工具呢?可以用 Gradle 或 Ivy 来完成吗?或者也许可以通过某些插件在 Maven 中实现?或者这个问题可能很典型并且有更直接的解决方案?

PS:请不要建议将公共(public)依赖关系概述到单独的模块。如果事情这么简单,我就不会在这里了。

最佳答案

在我看来,您应该使用 Gradle 来完成此任务,特别是它的多项目构建。 Gradle 允许从任何构建脚本访问多项目构建的任何项目中的任务。因此,您应该在子项目中定义所需的任务,并以您想要的任何顺序从根项目调用它们。

关于java - Java项目的定制构建生命周期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46575485/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com