maven 依赖

一个java 项目有n多对应的路径 比如 编译,测试,运行

maven的依赖作用域 scope 也与此相关

作用域(Scope)描述
compile此作用域表示项目classpath中的依赖可以使用,为默认作用域。  (编译,测试,运行)
provided此作用域表示依赖将由JDK或者运行时的Web服务器或容器提供。 编译,测试
runtime此作用域表示依赖在编译时不需要,但在执行时需要。 运行
test此作用域表示依赖只在测试编译和执行阶段可用。 测试
system此作用域表示你必须提供系统路径。 编译,测试

system 要提供systempath 可使用java环境变量 由于system范围不是通过maven仓库解析,而是查找本机系统的路径,所以会造成构件的不可移植,因此需要谨慎使用。如

<dependency>
   <artifactId>ciService</artifactId>
   <groupId>com.unicom</groupId>
   <version>1.0-SNAPSHOT</version>
   <scope>system</scope>
   <systemPath>${project.basedir}/lib/ci_api-1.0-SNAPSHOT.jar</systemPath>
</dependency>

import此作用域只在依赖是POM类型时使用。此作用域表示特定的POM需要替换成被引入的POM的部分中的依赖。 

左边表示第一依赖范围 上面表示第二依赖范围 依赖范围影响传递性依赖

100728_kbxc_2896745.png

在dependecy下可添加 排除传递依赖。

<exclusions>

    <exclusion>

        <groupId></groupId>

        <artifactId></artifactId>

    </exclusion>

</exclusions>

 

mvn dependency:analyze 使用

103157_AnIE_2896745.png

未使用的依赖

mvn dependency:tree 使用

145921_r3rd_2896745.png

依赖冲突

maven release 与deploy 的区别

release 可以发布scm端的代码 并且帮助版本控制帮你自动更改版本,发布的是正式版

转载于:https://my.oschina.net/haloooooo/blog/1531918

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值