IntelliJ中Maven多模块项目依赖解析异常问题求助
IntelliJ中Maven多模块项目依赖解析异常问题求助
各位好,我在维护一个多模块Maven项目时遇到了IntelliJ依赖识别的问题,具体情况如下:
项目结构
vet-city-app/ # 根目录(父POM) ├── pom.xml # 父POM(packaging = pom) ├── common-shared/ # 共享库模块 │ └── pom.xml ├── appointment-service/ # 预约微服务聚合模块 │ ├── pom.xml # 聚合POM │ ├── appointment-service-core/ │ │ └── pom.xml │ ├── appointment-service-adapter/ │ │ └── pom.xml │ └── appointment-service-rest/ │ └── pom.xml └── ... # 其他服务模块
各POM配置详情
根目录vet-city-app/pom.xml配置
<groupId>com.city.vet</groupId> <artifactId>vet-city-app</artifactId> <version>1.0-SNAPSHOT</version> <packaging>pom</packaging> <modules> <module>common-shared</module> <module>appointment-service</module> </modules> <dependencyManagement> <dependencies> <dependency> <groupId>com.city.vet</groupId> <artifactId>common-shared</artifactId> <version>${project.version}</version> </dependency> </dependencies> </dependencyManagement>
聚合模块appointment-service/pom.xml配置
<parent> <groupId>com.city.vet</groupId> <artifactId>vet-city-app</artifactId> <version>1.0-SNAPSHOT</version> </parent> <name>Appointment Service</name> <artifactId>appointment-service</artifactId> <packaging>pom</packaging> <modules> <module>appointment-service-adapter</module> <module>appointment-service-core</module> <module>appointment-service-rest</module> <module>appointment-service-app</module> </modules>
业务子模块appointment-service-rest/pom.xml配置
<parent> <groupId>com.city.vet</groupId> <artifactId>appointment-service</artifactId> <version>1.0-SNAPSHOT</version> </parent> <artifactId>appointment-service-rest</artifactId> <packaging>jar</packaging> <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> </dependency> <dependency> <groupId>com.city.vet</groupId> <artifactId>common-shared</artifactId> </dependency> </dependencies>
遇到的问题
按照上述配置,common-shared的版本已经在根POM的dependencyManagement中统一管理,理论上子模块直接引用无需指定版本即可正常识别。但实际在IntelliJ中,appointment-service-rest/pom.xml里的common-shared依赖被标红,提示Unresolved dependency;当我点击提示中的「Add dependency」选项时,IntelliJ会跳转到appointment-service/pom.xml(中间的聚合POM),而不是正确的根POM(那里才是依赖版本管理的配置位置)。
我想请教大家,该如何配置或调整IntelliJ的设置,让它能正确识别根POM中的dependencyManagement配置,消除这个依赖未解析的警告,并且在需要添加依赖时能正确定位到根POM?
内容来源于stack exchange
相关产品推荐
相关产品推荐

