`

maven exclusions【jar包依赖注意】

 
阅读更多
 <dependency>  
     <groupId>org.springframework</groupId>  
     <artifactId>spring-webmvc</artifactId>  
     <version>2.5.6</version>  
<exclusions>  
         <exclusion>  
             <groupId>org.springframework</groupId>  
             <artifactId>spring-beans</artifactId>  
         </exclusion>  
         <exclusion>  
             <groupId>org.springframework</groupId>  
             <artifactId>spring-context</artifactId>  
         </exclusion>  
         <exclusion>  
             <groupId>org.springframework</groupId>  
             <artifactId>spring-core</artifactId>  
         </exclusion>  
         <exclusion>  
             <groupId>org.springframework</groupId>  
             <artifactId>spring-web</artifactId>  
         </exclusion>  
     </exclusions>  
 </dependency>  


maven排除依赖jar处理,但是这样在某些时候会造成一些不可预测的异常。
比如上面的程序,根据maven介绍,上面的结构会排除对spring-beans,spring-context,spring-core,spring-web   2.5.6版本的依赖
但是如果出现类似下面的配置:

<dependency>  
    <groupId>org.apache.activemq</groupId>  
    <artifactId>activemq-pool</artifactId>  
    <version>5.2.0</version>  
</dependency>  


activemq-pool会依赖spring-beans,spring-core等jar包,由于上面的配置已经不允许出现2.5.6版本的类似jar包,所以当前配置的依赖也不会去引用那些jar包,但是它会试着去引用更低版本或者更高版本的jar,从而导致jar包冲突。
分享到:
评论

相关推荐

    JSONObject相关jar包和maven管理jar包

    Maven通过在项目对象模型(Project Object Model, POM)文件中定义依赖,可以自动下载并管理所需的jar包,包括JSONObject,简化了项目的构建和部署过程。 **标签解析:** “JSONObject jar”标签明确了我们的讨论...

    maven的本地仓库jar包

    Maven的本地仓库是Maven系统的核心组件之一,它存储着项目所需的各类依赖库,包括JAR包。当你在开发过程中引用了一个库,Maven会尝试从中央仓库下载该库到本地仓库,以便后续的编译和构建步骤能够访问到。 本地仓库...

    ​实现maven项目中多版本依赖兼容使用解决方案

    在本案例中,公司需要使用一个第三方接口的加密jar包,该jar包内部依赖的高版本与现有项目框架中的低版本冲突。以下是如何实现Maven项目中多版本依赖兼容的解决方案: 1. **理解Maven依赖管理**: Maven依赖管理...

    maven方式下载指定jar

    6. **注意排除jar中的依赖**:如果下载的jar包有额外的依赖,你可以在`&lt;dependency&gt;`标签内添加`&lt;exclusions&gt;`标签来排除不必要的依赖。 7. **配置Maven的远程仓库**:如果Maven中央仓库没有你需要的jar,你可以在`...

    maven 中引入依赖的包

    当你需要引入一个新的依赖包时,你需要编辑`pom.xml`文件,添加相应的`&lt;dependency&gt;`标签。 例如,如果你想引入Spring框架的依赖,你可以这样写: ```xml &lt;groupId&gt;org.springframework &lt;artifactId&gt;spring-...

    maven jar包版本管理工具

    Maven通过其特有的坐标系统(groupId、artifactId、version)来唯一标识每一个jar包,使得项目可以明确指定所需依赖的jar包及其版本。 1. **Maven的依赖管理**:在Maven的`pom.xml`文件中,开发者可以声明项目所需...

    maven jar包

    总结,Maven jar包的创建是Java开发中的一项基本操作,通过Maven的强大功能,开发者可以高效地管理项目依赖、构建和打包应用,极大地提升了开发效率和软件质量。了解并掌握Maven的使用,对于任何Java开发者来说都至...

    Maven解决jar冲突调试步骤

    本篇文章将通过一个具体的案例来讲解如何定位和解决Maven项目的jar依赖冲突问题。 #### 二、案例分析 假设我们遇到了如下的错误日志: ```java org.springframework.beans.factory.BeanCreationException: Error ...

    apache-maven3.5 依赖包

    在使用"Maven依赖包"时,开发者需要注意以下几点: 1. **正确配置POM.xml**:确保所有必需的依赖项都已添加,并且版本号正确无误。 2. **理解依赖传递性**:Maven会自动处理依赖的依赖,但可能会导致依赖冲突,需要...

    apache maven安装包和maven实用技巧

    3. **插件**:Maven通过插件执行特定任务,如`maven-jar-plugin`用于创建JAR包,`maven-assembly-plugin`用于创建可分发的归档文件。 4. **聚合项目**:多个模块可以通过`parent`元素组织在一个顶级POM下,形成聚合...

    IDEA中如何查找jar包之间的依赖关系并忽略依赖的某个包

    这篇文章主要介绍了如何使用IDEA的maven依赖工具来查找jar包之间的依赖关系,并忽略依赖的某个包。 首先,打开IDEA项目,然后点击右上角的maven选项,选择自己的项目,然后点击下图框3的图标(show Dependencies)。...

    maven依赖小例子

    Maven依赖管理是Maven的核心功能之一,它允许开发者声明项目所依赖的库,并自动下载这些库到本地仓库,以便于构建和运行项目。在Maven的项目对象模型(Project Object Model,POM)中,依赖被定义在`&lt;dependencies&gt;`...

    Maven的依赖验证项目

    但是,这可能导致版本冲突,因此Maven提供了`exclusions`标签来排除不需要的依赖。 在进行依赖验证时,Maven的`dependency:tree`命令可以帮助我们可视化项目的依赖结构,查找潜在的冲突。此外,`dependency:analyze...

    maven框架,导jar包

    2. **依赖管理**:Maven通过中央仓库来管理项目所依赖的jar包。在POM中声明所需的库,Maven会自动下载并管理这些依赖,避免了手动下载和版本冲突的问题。 3. **坐标**:每个Maven项目都有唯一的坐标,由groupId、...

    Maven jar包冲突的解决方案

    Maven jar包冲突的解决方案 Maven 是一个流行的 Java 项目管理和构建工具,它提供了许多有用的功能,例如依赖管理、项目构建和项目依赖关系管理等。但是,在使用 Maven 进行项目开发时,经常会遇到 jar 包冲突的...

    maven jar下载顺序测试资源

    本资源主要关注的是"Maven jar下载顺序"这一关键概念,这对于理解Maven如何处理项目的依赖关系至关重要。 首先,我们需要明白Maven的依赖解决机制。Maven遵循“约定优于配置”的原则,它默认按照特定的顺序来下载...

    SpringBoot使用Maven打包异常-引入外部jar的问题及解决方案

    同时,需要排除外部jar包与本地中jar的冲突,可以使用exclusions排除冲突的jar包。 知识点: 1. SpringBoot使用Maven打包异常时,如何引入外部jar包。 2. 如何配置pom.xml文件以includeSystemScope。 3. 如何排除...

    Maven 多项目依赖关系

    每个依赖项都包含groupId、artifactId和version,这些信息用于在Maven仓库中定位相应的JAR包。 2. **继承依赖**:父`pom.xml`可以使用`&lt;dependencyManagement&gt;`标签来管理所有子模块的依赖,这样在子模块中只需声明...

Global site tag (gtag.js) - Google Analytics