首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将嵌套Maven模块导入到IntelliJ IDEA时未在项目中完全表示

将嵌套Maven模块导入到IntelliJ IDEA时未在项目中完全表示
EN

Stack Overflow用户
提问于 2021-12-09 22:25:08
回答 1查看 663关注 0票数 0

我有一个大型存储库,其中包含一个Maven项目,该项目被划分为许多模块和子模块。

类似于:

代码语言:javascript
运行
复制
root
-area1
--A
---api
---impl
--B
---api
---impl
--C
---api
---impl
-area2
--X
---api
---impl
--Y
---api
---impl
--Z
---api
---impl

当然,这是简化的。area1、area2及其子模块被定义为pom类型的Maven项目,其中api和impl被定义为jaras。

我正在尝试向名为subset (与area1、area2和area3相同的级别)的根添加一个新的Maven模块,该模块只引用现有模块的一部分,因此我只能将该子集模块加载到IntelliJ中,以节省系统资源,并配置用于子集项目的附加工具。

最终目标是创建多个这样的子集项目,它们在同一个存储库(Monorepo)中使用相同的基本/共享模块。

我将子集项目pom定义为如下所示:

代码语言:javascript
运行
复制
<parent>
    <groupId>root.group</groupId>
    <artifactId>root.artifact</artifactId>
    <version>1.0.0-SNAPSHOT</version>
    <relativePath>../pom.xml</relativePath>
</parent>

<groupId>subset.group</groupId>
<artifactId>subset.artifact</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>pom</packaging>

<modules>
    <module>../area1/A</module>
    <module>../area1/B</module>
    <module>../area2/Z</module>
</modules>

<properties>
    <root-basedir>${basedir}/..</root-basedir>
</properties>

问题是,当我将子集Maven项目导入空的IntelliJ (2020.3.4)时,Maven工作得很好(所有的依赖项和模块结构都在那里),但是当我看到Project结构时:

代码语言:javascript
运行
复制
subset
area1
-api
-api
-impl
-impl
area2
-api
-impl

  • 看起来IntelliJ已经删除了模块名称(A、B和Z),只是添加了叶(api和impl -它们都来自所有3个模块)、
  • (如果切换到Project Files视图,我看到了预期结构中的文件:

)。

代码语言:javascript
运行
复制
subset
area1
-A
--api
--impl
-B
--api
--impl
area2
-Z
--api
--impl

如果我查看Project Structure (File->Project ),我可以看到模块导入得很好,这似乎完全是一个显示问题。

对于如何使ProjectProject Files反映相同的结构,有什么想法吗?(沿途不缺少pom分组模块A、B和Z)

EN

回答 1

Stack Overflow用户

发布于 2022-01-07 23:34:13

所有这些的原因是我的pom文件中的工件in。

看起来,IntelliJ试图将父工件id与模块工件id匹配起来,并将它们组合在一起。当发生这种情况时,IntelliJ复制(仅在项目窗格中直观地)在实际模块旁边的所有子模块(只要它们都在工件id中有前缀父模块)--这是递归发生的,这可能非常烦人,并且在运行深模块树的大型项目中显得非常混乱。

解决方案可能不是使用像ParentID.ModuleID.SubmoduleID这样的工件id,而是只对子模块使用SubmoduleID,对模块使用ModuleID,对父模块使用ParentID (意味着在ID中不点缀)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70297476

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档