微服务项目中maven依赖引入失败爆红问题解决方案

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 微服务中maven中标签dependencyManagement依赖引入失败的原因解决方案

前言

在微服务项目中在对于依赖得引入变得比较复杂了些,当然这只是相对于普通垂直架构得项目而言。微服务项目普通是采取父子依赖包含得关系来统一管理依赖,这样做的好处也就是统一引入得依赖版本,而且在后期进行依赖版本更替时只需修改父类的版本号就可以将所有子类的依赖修改。

起因

这次的问题就是出现在dependencyManagement这个标签的使用上

屏幕截图 2022-07-18 163306.png

上图依赖产生的问题并不是依赖引入错误或者版本号错误,对于上述的版本在前面的properties中已经注明,这类的错误是存在于在dependencyManagement中依赖的引入必须另加两个标签说明,一个是type类型标签,另一个就是scope作用域标签。我们都知道父类依赖文件的作用是管理依赖包的版本,一般用来保持当前项目的所有依赖版本统一。

解决方案

所以在引用依赖的时候必须加上类型为pom的type标签和作用域为import的scope标签。如下图:

屏幕截图 2022-07-18 163402.png

结尾

这里简略解释一下,type标签的pom属性代表是pom依赖文件这点毋庸置疑的,scope标签中有较多属性,其中的import属性就是把dependencyManagement所管理依赖版本中所需的版本依赖进行import引入进来,这样既不会浪费资源又可以灵活操作。

相关文章
|
7天前
|
Java Maven
Maven 构建 Java 项目
使用 Maven 的 archetype:generate 命令创建 Java 项目,如 `mvn archetype:generate` -DgroupId=com.companyname.bank -DartifactId=consumerBanking -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false,在 C:\MVN 下生成基于 maven 的 consumerBanking 项目。
|
19小时前
|
Java Apache Maven
Maven 项目文档
本教程聚焦于创建Maven项目文档。在C:/MVN目录下,使用命令`mvn archetype:generate -DgroupId=com.companyname.bank -DartifactId=consumerBanking -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false`生成`consumerBanking`项目。为解决`mvn site`命令执行时的`NoClassDefFoundError`
|
19小时前
|
Java Maven
Maven 引入外部依赖
在 Maven 项目中引入 LDAP 操作的 ldapjdk.jar 第三方库,需将 jar 文件放入 src/lib 文件夹,并在 pom.xml 的 dependencies 部分添加依赖项。
|
2天前
|
Java 应用服务中间件 Apache
Tomcat的基本使用,如何用Maven创建Web项目、开发完成部署的Web项目
Tomcat的基本使用,如何用Maven创建Web项目、开发完成部署的Web项目
10 1
|
2天前
|
Java Apache Maven
Maven 项目文档
在C:/MVN下创建`consumerBanking` Maven项目,使用命令`mvn archetype:generate -DgroupId=com.companyname.bank -DartifactId=consumerBanking -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false`。
|
4天前
|
Java Maven
Maven 引入外部依赖
在 Maven 项目中引入外部依赖,如 ldapjdk.jar,通常涉及两个步骤。首先,在 src/lib 文件夹下添加 jar 文件,然后在 pom.xml 的 dependencies 部分声明该依赖,使用 system 策略
|
5天前
|
Java Apache Maven
Maven 项目文档
在 `C:/MVN` 创建 `consumerBanking` Maven项目,使用命令:`mvn archetype:generate -DgroupId=com.companyname.bank -DartifactId=consumerBanking -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false`。
|
6天前
|
XML Java 测试技术
Maven 构建 & 项目测试
本节介绍了如何使用Maven进行Java应用的构建和测试。在`C:\MVN\consumerBanking`项目中,`pom.xml`配置了JUnit测试框架。执行`mvn clean package`命令,Maven会清理目标目录、编译源码和测试代码,运行测试,并生成`consumerBanking-1.0-SNAPSHOT.jar`。测试报告位于`surefire-reports`目录。
|
8天前
|
Java Apache Maven
Maven 项目文档
在C:/MVN下,使用命令`mvn archetype:generate -DgroupId=com.companyname.bank -DartifactId=consumerBanking -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false`创建Maven Java项目。确保`pom.xml`包含`maven-site-plugin`和`maven-project-info-reports-plugin`配置,版本分别至少为3.3和2.7,以避免`NoClassDefFoundError`。
|
9天前
|
Java Maven
SpringBoot项目的用maven插件打包报Test错误
SpringBoot项目的用maven插件打包报Test错误

推荐镜像

更多