`

maven排除依赖

 
阅读更多
maven默认是将所依赖的jar都引用进来。有时候当前项目依赖不同的jar依赖于某些第三方jar包的不同版本,这时就会出现同时依赖用一个jar文件的不同版本,有时会有依赖冲突。解决方法就是配置排除依赖。
<dependency>   
     <groupId>org.springframework</groupId> 
     <artifactId>spring-core</artifactId> 
     <version>2.5.6</version> 
     <exclusions> 
           <exclusion>     
                <groupId>commons-logging</groupId>         
                <artifactId>commons-logging</artifactId> 
           </exclusion> 
     </exclusions> 
</dependency>
      注意exclusions是在某个具体依赖里面配置的,也就是说要找到需排除的jar包的依赖路径,这个可以在ide里面查看pom.xml的依赖图。

      maven还有个可选依赖的设置,在当前项目A设置对某个依赖是可选的,<optional>true</optional>
<dependency>
    <groupId>sample.ProjectB</groupId>
    <artifactId>Project-B</artifactId>
    <version>1.0</version>
    <scope>compile</scope>
    <optional>true</optional>
</dependency>
      这样设置后,再有个项目X依赖A时,如果X中没有B中的类路径,则不会把B依赖加进来。
分享到:
评论

相关推荐

    Maven的依赖验证项目

    在压缩包中的“Maven依赖特性”可能包含了一些特定的示例或者配置,用于展示Maven如何处理不同类型的依赖特性,例如:范围(scope,如compile、test等)、排除依赖、强制版本等。通过实际操作这些例子,你可以更深入...

    maven依赖小例子

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

    Maven中的依赖

    6. **排除依赖(exclude)**:有时候我们可能需要排除某个特定的子依赖,可以使用exclude标签来实现。例如: ```xml &lt;groupId&gt;com.example&lt;/groupId&gt; &lt;artifactId&gt;library &lt;version&gt;1.0.0 &lt;groupId&gt;org....

    maven 中引入依赖的包

    此外,Maven还有“排除依赖”功能,允许你在引入特定依赖时排除其中的子依赖。例如: ```xml &lt;groupId&gt;com.example&lt;/groupId&gt; &lt;artifactId&gt;example-project &lt;version&gt;1.0.0 &lt;groupId&gt;org.unwanted ...

    Maven 依赖详细理解.pdf

    为了避免依赖冲突,我们可以在dependency中使用exclusions标签来排除某些不需要的传递性依赖。例如,如果我们不想使用spring-boot-starter-web所依赖的spring-boot-starter-tomcat,我们可以在spring-boot-starter-...

    maven组件依赖测试

    此外,还可以使用`exclusions`标签排除不需要的子依赖。 在`maven-demo`这个项目中,我们可以预期它包含了一个简单的Maven项目结构,包括`pom.xml`配置文件和源代码目录。通过运行Maven命令,我们可以验证项目是否...

    Maven 多项目依赖关系

    3. **排除依赖**:有时候,某个依赖库可能包含了不必要的或者冲突的子依赖,此时可以通过`&lt;exclusions&gt;`标签来排除特定的子依赖。 4. **依赖范围**:Maven允许我们为依赖设置不同的范围,如编译(compile)、测试...

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

    2. **排除依赖(Exclusions)**: 通常解决依赖冲突的一种方法是使用`&lt;exclusions&gt;`标签排除冲突的依赖。然而,本案例中要求不使用exclusions,因为这样会导致无法使用高版本的依赖。 3. **重命名冲突依赖**: ...

    精选构建组件:精通 Maven 排除特定依赖的艺术

    2. **依赖管理**:Maven 能够自动处理项目所需的所有外部依赖,开发者不需要手动下载和配置。 3. **项目生命周期**:Maven 定义了一系列的构建生命周期阶段,如 `clean`、`compile`、`test`、`package` 等,每个阶段...

    apache-maven3.5 依赖包

    2. **理解依赖传递性**:Maven会自动处理依赖的依赖,但可能会导致依赖冲突,需要通过 `&lt;exclusions&gt;` 标签排除不需要的子依赖。 3. **管理本地仓库**:定期清理无用的旧版本依赖,避免仓库过大影响性能。 4. **使用...

    关于项目、产品maven依赖问题

    - **排除冲突**:使用`&lt;exclusions&gt;`标签来排除不需要的子依赖,防止不必要的冲突。 - **版本策略**:制定明确的版本管理策略,如始终使用最新稳定版本,或者锁定到特定版本。 - **持续集成**:通过持续集成工具...

    Maven最佳实践之一个好的parent依赖基础

    Maven 最佳实践之一个好的 parent 依赖基础 Maven 是一个流行的项目管理和构建工具,它提供了许多功能来帮助开发者管理项目依赖关系。今天,我们将讨论如何使用 parent 依赖来控制依赖版本,从而避免版本冲突。 ...

    grails3.2.8的maven依赖

    如果需要排除某个特定的依赖,可以通过`&lt;exclusions&gt;`标签实现。此外,Maven的生命周期和构建过程可以通过定义`&lt;build&gt;`标签来定制,包括编译、测试、打包等步骤。 在实际开发中,Grails 3.2.8与Maven的结合使得...

    elasticsearch多版本jar包(直接拷贝到maven仓库对应位置即可)

    在Java开发中,Maven是一个强大的依赖管理工具,它允许开发者声明项目所需的库,然后自动下载这些库及其依赖。Elasticsearch作为Java应用程序,它的运行和开发通常依赖于Maven来管理其JAR包。将Elasticsearch的JAR包...

    Maven依赖管理项目构建工具(保姆级教学)

    此外,Maven还支持排除依赖,如果你不想引入某个特定的子依赖,可以通过exclusions标签进行排除。 Maven的构建生命周期由三个阶段构成:清理(Clean)、默认(Default)和站点(Site)。清理阶段主要负责删除目标...

    IDEA插件推荐之Maven-Helper的教程图解

    3. 依赖排除:Maven-Helper 插件提供了依赖排除功能,允许开发者快速排除不需要的依赖关系。这样可以减少项目的大小和复杂度,提高项目的性能和可维护性。 4. 安装和配置:Maven-Helper 插件的安装和配置非常简单。...

    maven 隐式依赖引起的包冲突解决办法

    在Java开发中,Maven作为项目构建工具,其强大的依赖管理功能使得开发变得更为便捷。然而,这也可能导致一些问题,尤其是当多个库依赖相同但不同版本的包时,就会出现所谓的“包冲突”。本文将详细讲解如何处理由...

    maven 过滤文件夹打包

    这个文件夹通常包含了项目的所有依赖、资源文件以及打包后的主应用程序。在Maven的默认配置中,`target`目录下会生成一个`${project.artifactId}-${project.version}`格式的文件夹或JAR/WAR文件,包含了所有打包内容...

    MavenHelper插件 帮你检查maven的各种冲突

    3. **排除依赖**:如果某个依赖导致了冲突,MavenHelper允许你直接在IDE内排除该依赖,减少了在pom.xml文件中手动编辑的繁琐步骤。 4. **依赖更新**:插件会显示每个依赖的最新版本,帮助你保持项目依赖的最新状态,...

Global site tag (gtag.js) - Google Analytics