A项目,有两个模块,一个纯feign接口的api模块,一个实现feign接口的service模块,有如下疑问?
1.A项目有两个模块,一个纯feign接口的api模块,一个实现了feign接口的service模块
2.把A项目的api模块deploy到公司的私有maven仓库
3.B项目引入A项目的api依赖,调用api中的接口
有以下疑问
1.api模块的pom文件中,<parent>标签是A项目的pom文件,可是在公司的私有仓库中,并没有A项目,只有api模块项目,api模块引入的依赖所需要的版本号都在A项目的pom文件中定义的,deploy api模块的时候,并没有带版本号相关的信息啊,那么B项目引入的时候为啥还可以下载下来对应版本的依赖呢?
2.api模块引入了mybatis-plus,B项目页面引入了mybatis-plus,但是她俩的版本不一致,必须把B项目的版本号改成跟A项目一直,B项目才能正常运行,否则就报依赖冲突,出了改版本号,有没有其他方法解决api模块与B项目的依赖冲突啊?
如下用了排除,依然不生效
<dependency> <groupId>com.abc.ekm</groupId>
<artifactId>abc-api</artifactId>
<version>${project.version}</version>
<exclusions>
<exclusion>
<artifactId>com.baomidou</artifactId>
<groupId>mybatis-plus-boot-starter</groupId>
</exclusion>
<exclusion>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
</exclusion>
</exclusions>
</dependency>
回答:
1、应该是你本地 install 了 A 项目,B 在引入 api 模块时,在你本地找到了 A 项目。
发布时不想发布子项目,加上 --non-recursive
。
2、使用 exclusions
排除 mybatis-plus
<dependency> <groupId>xxxx</groupId>
<artifactId>module-api</artifactId>
<exclusions>
<exclusion>
<groupId>com.baomidou</groupId>
<artifactId>*</artifactId>
</exclusion>
</exclusions>
</dependency>
以上是 A项目,有两个模块,一个纯feign接口的api模块,一个实现feign接口的service模块,有如下疑问? 的全部内容, 来源链接: utcz.com/p/944695.html