Maven的parent pom的依赖

1 篇文章 0 订阅

Maven 是一个Java语言编写的开源项目管理工具,是Apache软件基金会的顶级项目。主要用于项目构建,依赖管理,项目信息管理。

一、下载配置

官网下载地址:http://maven.apache.org/download.cgi

  1. 解压下载的压缩包
  2. 配置环境变量(需要先配置好%JAVA_HOME%环境变量):
  3. settings.xml,实际项目开发中,Maven的大多数配置都是在该文件中进行设置。
    %MAVEN_HOME%/conf目录下的settings.xml,该配置文件针对系统所有用户。
  4. 系统当前用户目录下.m2下的settings.xml,针对当前用户。如果没有,可复制一份。

二、Maven坐标

maven 的坐标通过 5 个元素进行定义,其中 groupId、artifactId、version 是必须的。packaging 是可选的(默认为jar)

  1. groupId:定义当前 Maven 项目所属的实际项目,跟 Java 包名类似,通常与域名反向。
  2. artifactId:定义当前 Maven 项目的一个模块。默认情况下,Maven 生成的文件名会以 artifactId 开头。
  3. version:定义项目版本。
  4. packaging:定义项目打包方式(pom, jar, maven-plugin, ejb, war, ear, rar),默认为 jar。
  5. classifier:定义项目的附属构件,如 spring-webmvc-5.2.5.RELEASE-sources.jar,spring-webmvc-5.2.5.RELEASE-javadoc.jar,其中 sources 和 javadoc 就是这两个附属构件的 classifier。

三、Maven依赖作用域

Maven 对应的有三套 classpath:编译、测试,运行。
scope 选项的值,决定了该依赖会被引入到哪一个 classpath 中。

  1. compile:编译依赖范围,默认值。此选项对编译、测试、运行三种 classpath 都有效。
  2. provided:已提供依赖范围。编译和测试有效,运行无效。如 servlet-api ,在项目运行时,tomcat 等容器已经提供,无需 Maven 重复引入;
  3. runtime:运行时依赖范围。表示编译时不是必须的,但测试和运行是必须的。如 jdbc 驱动实现,编译时只需接口,测试或运行时才需要具体的 jdbc 驱动实现;
  4. test:测试依赖范围。只对测试有效,表明只在测试的时候需要,在编译和运行时将无法使用该类依赖,如 junit;
  5. system:系统依赖范围。和 provided 依赖范围一致,需要通过 显示指定,且可以引用环境变量;

四、parent pom的依赖

parent.pom使用dependencies和dependencyManagement管理子项目的公共的依赖。

  1. dependencies即使在子项目中不写该依赖项,那么子项目仍然会从父项目中继承该依赖项(全部继承)
  2. dependencyManagement里只是声明依赖,并不实现引入,因此子项目需要显式的声明需要用的依赖。如果不在子项目中声明依赖,是不会从父项目中继承下来的;只有在子项目中写了该依赖项,并且没有指定具体版本,才会从父项目中继承该项,并且version和scope都读取自父pom;另外如果子项目中指定了版本号,那么会使用子项目中指定的jar版本。

五、Maven私服

可以使用专门的 Maven 仓库管理软件来搭建私服,比如:Apache ArchivaArtifactorySonatype Nexus

Artifactory和Nexus都有付费版和免费版。

六、Maven内置变量

  1. ${basedir} 项目根目录
  2. ${project.build.directory} 构建目录,缺省为target
  3. ${project.build.outputDirectory} 构建过程输出目录,缺省为target/classes
  4. ${project.build.finalName} 产出物名称,缺省为${project.artifactId}-${project.version}
  5. ${project.packaging} 打包类型,缺省为jar
  6. ${project.xxx} 当前pom文件的任意节点的内容
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值