【问题标题】:Maven child module to be dependent on all other children modules without adding dependencyMaven 子模块依赖于所有其他子模块而不添加依赖项
【发布时间】:2016-05-05 20:43:15
【问题描述】:

我有一个 Maven 聚合项目,设置如下:

main_project
   ->common_submodule
   ->child_a
   ->child_b
   ...
   ->child_x
   ->webapps

其他开发人员可以添加自己的子模块,所有这些子模块都应该由加载他们的bean的webapps子模块集成,因此它必须依赖于所有其他子模块。我想保持 webapps 子模块关闭以进行更改,因此如果有某种方法可以使这些子模块在 webapps 类路径上可用而不在其 pom.xml 中添加依赖项,那就太好了。

【问题讨论】:

  • 首先这是不可能的,因为如果你想在类路径上有子模块,你必须以某种方式将信息提供给 webapps 模块,这意味着你需要在 webapps pom 中添加依赖项......?真正的问题是什么?
  • 项目是一个框架,不同的开发者会在它之上构建自己的子模块,彼此之间没有任何协作。我想限制它们仅更改其子模块而不更改应用程序的公共部分,以避免可能发生的潜在问题和冲突。如果他们必须更改此文件,这不是什么大问题,但我认为可能有一些优雅的解决方案可以使它成为可能。
  • 我忘了说你需要定义那些依赖以确保构建顺序是正确的......因为在你的情况下,webapps 必须最后构建......

标签: java maven pom.xml


【解决方案1】:

我希望你有充分的理由这样做。

您有两种方法可以在您的 web 应用中获取附加模块作为依赖项。

  1. 新模块作为传递依赖:通过将新模块添加为 webapps 中已引用模块之一的依赖关系,例如(child_a 或 child_b)。 注意:我强烈建议不要使用此选项。
  2. main_project 作为你的 webapps 的父项目,所以你可以添加 新模块作为 main_project 中的依赖项,这将是 在 webapps 中继承。

希望这会有所帮助。

【讨论】:

  • 您建议的第一个选项不能解决我遇到的问题。实际上,在我的情况下情况会更糟。第二个选项行不通。它会在我添加为 main_project 中的依赖项的子项之间进行循环引用
猜你喜欢
  • 2013-04-17
  • 1970-01-01
  • 2023-04-07
  • 1970-01-01
  • 2013-08-01
  • 1970-01-01
  • 2019-09-21
  • 2013-10-12
  • 1970-01-01
相关资源
最近更新 更多