Maven可选依赖和排除依赖简单使用

可选依赖

  • 可选依赖指对外隐藏当前所依赖的资源
    Maven可选依赖和排除依赖简单使用_第1张图片

maven_04_dao的pom.xml,在引入maven_03_pojo的时候,添加optional

<dependency>
    <groupId>com.rqzgroupId>
    <artifactId>maven_03_pojoartifactId>
    <version>1.0-SNAPSHOTversion>
    
    <optional>trueoptional>
dependency>

此时BookServiceImpl就已经报错了,说明由于maven_04_dao将maven_03_pojo设置成可选依赖,导致maven_02_ssm无法引用到maven_03_pojo中的内容,导致Book类找不到。

排除依赖

  • 排除依赖指主动断开依赖的资源,被排除的资源无需指定版本

对于排除依赖,则指的是已经有依赖的事实,也就是说maven_02_ssm项目中已经通过依赖传递用到了maven_03_pojo,此时我们需要做的是将其进行排除,所以接下来需要修改maven_02_ssm的pom.xml

<dependency>
    <groupId>com.rqzgroupId>
    <artifactId>maven_04_daoartifactId>
    <version>1.0-SNAPSHOTversion>
    
    <exclusions>
        <exclusion>
            <groupId>com.rqzgroupId>
            <artifactId>maven_03_pojoartifactId>
        exclusion>
    exclusions>
dependency>

当然exclusions标签带s说明我们是可以依次排除多个依赖到的jar包,比如maven_04_dao中有依赖junit和mybatis,我们也可以一并将其排除。

<dependency>
    <groupId>com.rqzgroupId>
    <artifactId>maven_04_daoartifactId>
    <version>1.0-SNAPSHOTversion>
    
    <exclusions>
        <exclusion>
            <groupId>com.rqzgroupId>
            <artifactId>maven_03_pojoartifactId>
        exclusion>
        <exclusion>
            <groupId>log4jgroupId>
            <artifactId>log4jartifactId>
        exclusion>
        <exclusion>
            <groupId>org.mybatisgroupId>
            <artifactId>mybatisartifactId>
        exclusion>
    exclusions>
dependency>

你可能感兴趣的:(SpringBoot,maven,java)