Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Maven-依赖于多模块聚合器项目_Java_Spring_Maven - Fatal编程技术网

Java Maven-依赖于多模块聚合器项目

Java Maven-依赖于多模块聚合器项目,java,spring,maven,Java,Spring,Maven,我有一个多模块maven项目,其结构如下: projectA-parent - module-1 - module-2 我还有另一个项目,我想把projectA parent中的所有模块作为运行时依赖项引入其中(这是一个Spring应用程序,projectA parent中的每个模块都包含我希望能够自动连接的Spring服务) 我想做的是 <dependency> <groupId>projectA-group</groupId> &

我有一个多模块maven项目,其结构如下:

projectA-parent
  - module-1
  - module-2
我还有另一个项目,我想把
projectA parent
中的所有模块作为运行时依赖项引入其中(这是一个Spring应用程序,
projectA parent
中的每个模块都包含我希望能够自动连接的Spring服务)

我想做的是

<dependency>
    <groupId>projectA-group</groupId>
    <artifactId>projectA-parent</artifactId>
    <scope>runtime</scope>
</dependency>

项目组
家长
运行时
因此,如果我将另一个模块添加到
projectA parent
中,它将自动作为运行时依赖项引入(即,我不想在添加每个新模块时将它们作为依赖项添加到Spring应用程序中)。这样的事情可能吗?

你必须使用

<dependencies>
  <dependency>
     <groupId>projectA-parent-groupId</groupId>
     <artifactId>projectA-parent-artifactId</artifactId>
     <type>pom</type>
  </dependency>
</dependencies>
你必须使用

<dependencies>
  <dependency>
     <groupId>projectA-parent-groupId</groupId>
     <artifactId>projectA-parent-artifactId</artifactId>
     <type>pom</type>
  </dependency>
</dependencies>

我想我应该添加另一个模块,该模块引用了项目中的其他模块,例如:

projectA-parent
  - module-1
  - module-2
  - module-deps
使用
模块deps
作为依赖于
模块1
模块2
的jar或pom。
添加更多模块时,您必须更新
模块deps
,但至少它只在一个位置。

我想我应该添加另一个模块,该模块引用了项目中的其他模块,例如:

projectA-parent
  - module-1
  - module-2
  - module-deps
使用
模块deps
作为依赖于
模块1
模块2
的jar或pom。
在添加更多模块时,您必须更新
模块deps
,但至少它只在一个位置。

问题在于,模块不是
项目父级的依赖项,而是子模块。我目前的解决方案(这可能是最好的/唯一的选择)是有一个“BOM”模块,将所有其他模块列为依赖项,然后将此BOM作为类型:pom/scope:import dependency导入,如您的答案所示。依赖项在BOM pom.xml中标记为scope:runtime。问题是模块不是
projectA父级的依赖项,而是子模块。我目前的解决方案(这可能是最好的/唯一的选择)是有一个“BOM”模块,将所有其他模块列为依赖项,然后将此BOM作为类型:pom/scope:import dependency导入,如您的答案所示。这些依赖项在BOM pom.xml中标记为scope:runtime。