子项目无法正确继承父项目配置的依赖或属性
Could not find artifact com.alibaba:fastjson:pom:unknown in central (https://repo.maven.apache.org/maven2)
Could not find artifact org.mybatis:mybatis:pom:unknown in central (https://repo.maven.apache.org/maven2)
1. 父项目与子项目的 packaging 配置
父模塊管理多模塊項目通過 modules 定義所有子項目通常設置為 packaging 為 pom,僅用來聚合和管理子項目的配置。
父项目的 packaging 应设置为 pom,以便作为一个模块管理器。
如果父项目未正确设置为 pom,子项目可能无法正确继承。
检查父项目的 pom.xml:
問題: packaging 配置 jar
子項目 A 提供的是可重用的 Java 類庫或功能模塊,則它的 packaging 應設置為 jar(默認)。
2. 依赖的范围问题
从错误信息来看,Maven 可能在解析子项目依赖时未能解析父项目中声明的版本号。通常原因是子项目的依赖未完全继承父项目中的版本配置。
在父项目 dependencyManagement 中声明依赖的版本
<properties>
<fastjson.version>1.2.58</fastjson.version>
<mybatis.version>3.5.1</mybatis.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>${fastjson.version}</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>${mybatis.version}</version>
</dependency>
</dependencies>
</dependencyManagement>