gpt4 book ai didi

java - Maven - 聚合的 'all' 或 'parent' 项目?

转载 作者:搜寻专家 更新时间:2023-10-31 20:07:21 25 4
gpt4 key购买 nike

出于教育目的,我设置了一个这样的项目布局(为了更好地适应 eclipse,扁平化):

-product
|
|-parent
|-core
|-opt
|-all

Parent 包含一个包含 core、opt 和 all 的聚合项目。核心实现应用程序的强制性部分。 Opt 是一个可选部分。 All 应该将 core 与 opt 结合起来,并将这两个模块列为依赖项。

我现在正在尝试制作以下 Artifact :

  1. 产品核心.jar
  2. product-core-src.jar
  3. product-core-with-dependencies.jar
  4. product-opt.jar
  5. product-opt-src.jar
  6. product-opt-with-dependencies.jar
  7. product-all.jar
  8. product-all-src.jar
  9. product-all-with-dependencies.jar

它们中的大多数都相当容易生成。不过,我确实对聚合 Artifact 有一些问题。我已经设法在“所有”模块中使用自定义程序集描述符制作 product-all-src.jar,该模块下载所有非传递性 deps 的源代码,并且工作正常。这种技术还允许我制作 product-all-with-dependencies.jar。

然而,我最近发现您可以使用源代码插件中的 source:aggregate 目标来聚合整个聚合项目的源代码。对于 javadoc 插件也是如此,它也通过父项目的使用进行聚合。

因此,我在“所有”模块方法和放弃“所有”模块而仅使用“父”模块进行所有聚合之间左右为难。在“parent”中产生一些聚合 Artifact ,而在“all”中产生其他 Artifact ,感觉不干净。有没有办法在父项目中制作一个“产品所有”jar,或者在“所有”项目中聚合 javadoc?还是我应该同时保留两者?

谢谢

最佳答案

扁平树不再经常使用。这是几年前完成的,目的是解决 Eclipse 处理项目的方式以及缺乏良好的 Maven 和 Eclipse 集成。如果您使用 m2eclipse 将 Maven 项目导入 Eclipse,您将不会遇到任何典型的 maven 嵌套树的问题。

至于如何构造 Maven 构建的好例子是什么? Maven项目源码itself .它拥有您想要的所有作品,包括最后的 assembly打包 bundle 。

典型的嵌套结构具有自上而下的层次结构,父级对其下方的模块进行聚合,子级从父级继承值。虽然这些可以而且有时是分开的,但这不是常态。

关于java - Maven - 聚合的 'all' 或 'parent' 项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2821077/

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