首页 > 代码库 > maven使用入门(pom)
maven使用入门(pom)
mvn clean complie
mvn clean test
mvn clean package
mvn clean install(该任务将该项目输出的jar安装到了Maven本地仓库中)
各个命令是递进执行的,执行test会先 执行complie,执行package会先执行test,依次类推。
mvn archetype:generate会默认运行插件maven-archetype-plugin。
m2eclipse也有类似命令:
配置说明:
groupId,artifactId和version:依赖的基本坐标,对于任何一个依赖来说,基本坐标是最重要的,Maven根据坐标才能找到需要的依赖。
type:依赖的类型,对应于项目坐标定义的packaging。默认值为jar。
scope:依赖的范围
optional:标记依赖是否可选。
exclusions:用来排除传递性依赖。
传递性依赖:account-mail有一个compile范围的spring-core依赖,spring-core有一个compile范围的commons-logging依赖,那么
commons-logging就会成为compile范围依赖,commons-logging是account-email的一个传递性依赖:
依赖范围传递:
依赖调解:
依赖调解第一原则:路径最近者优先。第二原则:第一声明者优先。
依赖的最佳实践:
排除依赖:
项目A依赖于项目B,但是由于一些原因,不想引入传递性依赖C,而是显式地声明对于项目C1.1.0版本的依赖。代码中使用exclusions元素声明排除
依赖,exclusions可以包含一个或者多个exlusion子元素,因此可以排除一个或者多个传递性依赖。
归类依赖:使用美元符号和大括弧环绕的方式引入Maven属性。然后,将所有Spring Framework依赖的版本值用这一属性引用标识。