maven依赖的version声明控制方式

目录
  • maven依赖的version声明控制
    • 下面以springcloud的注册中心模块举例
  • maven设置依赖version属性
    • 1、加入profiles
    • 2、version处用${name}替代

maven依赖的version声明控制

在写新的springcloud项目时

启动报错Correct the classpath of your application so that it contains a single, compatible version of ........

大意是确保jar包的版本兼容且唯一.

为什么会出现这种情况呢?因为父模块声明了某个jar包的版本,子模块导入时不应再声明version,不然会冲突.当然,一般人也不会傻傻地再声明版本,复杂的情况是:父模块声明的jar包内部包含的某个jar包被子模块导入,但子模块不知道父模块包含此jar包,才会再次声明version.

下面以springcloud的注册中心模块举例

父模块le,注册中心模块le-registry,解释全在图上:

maven设置依赖version属性

在pom.xml文件中:

1、加入profiles

 <profiles>
  <profile>
  <activation>
  <property>
  <name>spring.version</name>
  <value>4.0.0.RELEASE</value>
  </property>
  </activation>
  </profile>
 </profiles>

2、version处用${name}替代

<dependency>
 <groupId>org.springframework</groupId>
 <artifactId>spring-context</artifactId>
 <version>${spring.version}</version>
</dependency>

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 关于maven依赖 ${xxx.version}报错问题

    目录 maven依赖 ${xxx.version}报错 在pom文件加入以下配置即可解决 maven依赖的版本号报错解决(玄学) 玄学解决 maven依赖 ${xxx.version}报错 pom.xml 引入依赖时,版本取<version>${xxx.version}</version>有时会报红, 在pom文件加入以下配置即可解决 <properties> <xxx.version>版本号</xxx.version> </propert

  • 微服务中使用Maven BOM来管理你的版本依赖详解

    BOM简介 BOM(Bill of Materials)是由Maven提供的功能,它通过定义一整套相互兼容的jar包版本集合,使用时只需要依赖该BOM文件,即可放心的使用需要的依赖jar包,且无需再指定版本号.BOM的维护方负责版本升级,并保证BOM中定义的jar包版本之间的兼容性. 为什么要使用BOM 使用BOM除了可以方便使用者在声明依赖的客户端时不需要指定版本号外,最主要的原因是可以解决依赖冲突,如考虑以下的依赖场景: 项目A依赖项目B 2.1和项目C 1.2版本: 项目B 2.1依赖项目

  • 一行命令同时修改maven项目中多个module的版本号的方法

    Maven,是一个Java开发比较常用的项目管理工具,可以对 Java 项目进行构建.依赖管理. 对于很多Java程序员来说,分层架构都是不陌生的,至少MVC三层架构都是不陌生的,甚至有人说:"Any problem in computer science can be solved by anther layer of indirection." 想要在代码中进行分层,比较好的做法就是创建多module的项目 maven-parent (Maven Project) |- maven

  • 详解maven依赖冲突以及解决方法

    什么是依赖冲突 依赖冲突是指项目依赖的某一个jar包,有多个不同的版本,因而造成类包版本冲突 依赖冲突的原因 依赖冲突很经常是类包之间的间接依赖引起的.每个显式声明的类包都会依赖于一些其它的隐式类包,这些隐式的类包会被maven间接引入进来,从而造成类包冲突 如何解决依赖冲突 首先查看产生依赖冲突的类jar,其次找出我们不想要的依赖类jar,手工将其排除在外就可以了.具体执行步骤如下 1.查看依赖冲突 a.通过dependency:tree是命令来检查版本冲突 mvn -Dverbose dep

  • maven依赖的version声明控制方式

    目录 maven依赖的version声明控制 下面以springcloud的注册中心模块举例 maven设置依赖version属性 1.加入profiles 2.version处用${name}替代 maven依赖的version声明控制 在写新的springcloud项目时 启动报错Correct the classpath of your application so that it contains a single, compatible version of ........ 大意是确

  • 关于Maven依赖冲突解决之exclusions

    目录 Maven依赖冲突解决之exclusions 1. 背景 2. 解决方式 场景 解决方式 Maven解决依赖冲突总结 实例分析 解决办法 命令分析 小试牛刀 Maven依赖冲突解决之exclusions 1. 背景 作为java生态下开发者,往往需要使用大量线程的第三方库,一般都是以jar包形式存在. maven作为事实上主流的jar包依赖管理工具,Idea和Eclipse都支持创建maven工程来管理jar包依赖. 使用maven进行jar包依赖管理时,maven会自行管理jar包及其依

  • 详析Spring中依赖注入的三种方式

    前言 平常的java开发中,程序员在某个类中需要依赖其它类的方法,则通常是new一个依赖类再调用类实例的方法,这种开发存在的问题是new的类实例不好统一管理,spring提出了依赖注入的思想,即依赖类不由程序员实例化,而是通过spring容器帮我们new指定实例并且将实例注入到需要该对象的类中.依赖注入的另一种说法是"控制反转",通俗的理解是:平常我们new一个实例,这个实例的控制权是我们程序员,而控制反转是指new实例工作不由我们程序员来做而是交给spring容器来做. 在Sprin

  • 用Maven打成可执行jar,包含maven依赖,本地依赖的操作

    因为今天一个朋友学习过程中用到了maven项目编写代码,到了最后打包阶段打的包不能运行,一时我也没想起来具体操作步骤,后来我百度学习了一下,特此记录下,以便后续自己查阅. maven项目中不可避免的需要用到依赖jar,实际使用中有的能从maven仓库找到,有的找不到,所以存在使用本地jar的情况,下面将对使用maven仓库中jar,以及使用本地jar不同情况下打包可运行jar进行介绍. 情景一:使用maven依赖,所有的依赖都从maven仓库查找下载,最终打包成可执行jar,需要修改pom文件如

  • .NET IoC模式依赖反转(DIP)、控制反转(Ioc)、依赖注入(DI)

    依赖倒置原则(DIP) 依赖倒置(Dependency Inversion Principle,缩写DIP)是面向对象六大基本原则之一.他是指一种特定的的解耦形式,使得高层次的模块不依赖低层次的模块的实现细节,依赖关系被颠倒(反转),从而使得低层次模块依赖于高层次模块的需求抽象. 该原则规定: 高层次的模块不应该依赖低层次模块,二者都应该依赖其抽象接口. 抽象接口不应该依赖于具体实现,而具体实现则应该依赖于抽象接口. 通过如下一个简单的示例,我们来看一下,我们通过一个简单地下单流程向我们的用户发

  • Maven依赖管理的用法介绍

    目录 一.依赖传递 1. 直接依赖与间接依赖 2. 依赖传递冲突时的优先规则 (1) 路径优先 (2) 声明优先 (3) 后声明覆盖先声明 二.依赖管理 1. 可选依赖 2. 排除依赖 3. 可选依赖与排除依赖的异同点 一.依赖传递 1. 直接依赖与间接依赖 pom.xml 声明了的依赖是直接依赖,依赖中又包含的依赖就是间接依赖(直接依赖的直接依赖),间接依赖虽然未被声明,但也是依赖所必须的依赖,同时间接依赖中的资源也可以直接使用 比如 A 依赖了 B,B 依赖了 C,那么 A 也就间接的依赖了

  • Maven工程打包jar的多种方式

    目录 1.一般的jar(不能运行) 方式1:命令行方式 方式2:鼠标操作 2.可执行Jar 方式1:SpringBoot框架 (依赖在jar中) 方式2: 依赖包和项目包分离(依赖在外部目录lib) 方式3:依赖包和项目在一个jar(非springboot项目) 3. Scala项目打包 4. groovy项目打包 Maven打包一般可以生成两种包一种是可以直接运行的包,一种是依赖包(只是编译包).Maven默认打包时jar,如果需要修改其他类型.可以修改pom.xml <packaging>

  • IDEA中Maven依赖下载失败的完美解决方案

    使用IDEA进行Maven项目开发时,时不时会遇到pom.xml报错的情况,其中很大概率是因为Maven依赖的jar包下载失败,找来找去也没有找到是什么问题,困扰了很多程序猿,这里给出IDEA中Maven依赖下载失败解决方案,给大家参考,实测有用. 文章目录首先检查网络有没有问题,确定网络没有问题,请看下一步多次点击重新导入Maven依赖的按钮设置自动导入Maven依赖在IDEA中找到Maven的配置文件的地址,然后检查配置的远程仓库或者镜像有没有问题如果上面几步都没有解决问题,可以使用以下脚本

随机推荐