Maven的使用说明与注意事项

本文介绍Maven在实际项目中的应用技巧,包括中央仓库与私服配置、IDEA集成Maven注意事项、依赖冲突解决策略、资源引用隐藏及排除方法、依赖范围设定等关键知识点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、中央仓库与私服

1.中央仓库的访问速度很慢,一般会配置私服或镜像仓库。
2.中央仓库只能发开源的资源,不开源、有版权的资源在中央仓库找不到。

二、IDEA与Maven

1.IDEA与Maven分别所属两家公司,用IDEA集成最新版本的Maven可能会出错,不能用。没特殊需求,建议用IDEA自带的Maven。

三、依赖传输冲突问题

1.路径优先:当依赖中出现相同资源时,层级越深,优先级越低,层级越浅,优先级越高。
2.声明优先:当资源在相同层级被依赖时,配置顺序靠前的覆盖配置顺序靠后的(eg:如果两个2度资源中有相同资源、不同版本的配置,需要对比二者所属的1度资源的配置顺序,配置顺序靠前的1度资源对应的2度资源配置优先级高)。
3.特殊优先:同一个pom里配置了相同资源的不同版本,后配置的覆盖先配置的。
在这里插入图片描述

四、引用资源隐藏

1.把optional设置为true,可以对外隐藏自己的引用资源。当其他项目用Maven依赖该项目时,不能看到该项目引用了什么资源。不配置默认为false。

<dependency>
    <groupId>xxx</groupId>
    <artifactId>xxx</artifactId>
    <version>x.x.x</version>   
    <optional>ture</optional>
</dependency>

五、排除引用

1.排除引用资源的引用资源。排除时会排除所有,不能加版本号。

        <dependency>
            <!--你引用的资源A-->
            <groupId>xxx</groupId>
            <artifactId>A</artifactId>
            <version>x.x.x</version>
            <!--排除掉资源A引用的资源B-->
            <exclusions>
                <exclusion>
                    <groupId>xxx</groupId>
                    <artifactId>B</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

六、依赖范围

1.通过scope标签设置作用范围。
2.三种作用范围:
①主程序范围有效:main文件夹范围内。
②测试程序范围有效:test文件夹范围内。
③是否参与打包:package指令范围内。
在这里插入图片描述

七、依赖范围的传递性(了解)

在这里插入图片描述
tbc…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值