Maven

对Maven介绍的非常详细的一篇博客:https://www.cnblogs.com/whgk/p/7112560.html

1.Maven简介

  • Maven是一个高级项目管理工具。
  • 本地仓库:计算机中一个文件夹,自己定义是哪个文件夹
  • 中央仓库:网上地址 https://repo1.maven.org/maven2/

下载速度慢--> 配置国内镜像(阿里)

<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>

 

  • 保证 JDK 版本和开发环境一致

坐标: 

  • 每一 jar 文件都有一个唯一坐标.通过坐标可以精确确定是哪个 jar
  •  坐标组成

Group ID : 公司名.公司网址倒写

Artifact ID : 项目名

Version : 版本

  • pom

英文名称(Project Object Mode) 项目对象模型,把 project 当作对象看待,通过 maven 构建工具可以让对象(项目)和对象(项目)之 间产生关系,网址(查看坐标) http://mvnrepository.com/

2.创建Maven项目

1. New--> Maven project

2. 勾选复选框,表示创建一个简单 Maven 项目(不应用任何模板)

3. 填写项目信息

3.1 Packaging: 项目的类型,最终会被打包成什么类型.

3.1 jar : java 项目

3.2 war: web 项目

3.3 pom:逻辑父项目

3.3.1 只要一个项目有子项目必须是 pom 类型 

3.Maven 项目目录结构(jar 类型) 

2. src/main/java 真实目录的快捷目录,写 java 代码

3. src/main/resources 快捷目录

3.1 存放配置文件.

3.2 虽然看见 resources 但是里面所有配置文件最终会被编辑放入到 classes 类路径

4. src/test/java 写测试 java 代码

5. src/text/resources 测试的配置文件夹

6. pom.xml maven 的配置文件

6.1 当前项目所依赖的其他项目或 jar 或插件等 

4.Maven 项目之间的关系

1. 依赖关系

1.1 标签把另一个项目的 jar 引入到当过前项目

1.2 自动下载另一个项目所依赖的其他项目

2. 继承关系

2.1 父项目是 pom 类型

2.2 子项目jar或war,如果子项目还是其他项目的父项目,子项目也 是 pom 类型.

2.3 有继承关系后,子项目中出现标签 2.3.1 如果子项目和和与父项目项目,在子 项目中可以不配置和

2.4 父项目 pom.xml 中是看不到有哪些子项目.在逻辑上具有父子项目关系.

<parent>
<groupId>com.bjsxt</groupId>
<artifactId>parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>

3. 聚合关系.

3.1 前提是继承关系.父项目会把子项目包含到父项目中.

3.2 子项目的类型必须是 Maven Module 而不是 maven project

3.3 新建聚合项目的子项目时,点击父项目右键新建 Maven Module

3.4 具有聚合关系的父项目,在 pom.xml 中  

<modules>
<module>child2</module>
</modules>

3.5 具有聚合关系的子项目,在 pom.xml 中

<parent>
<groupId>com.bjsxt</groupId>
<artifactId>parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>

4. 聚合项目和继承项目区别

4.1 在语意上聚合项目父项目和子项目关系性较强

4.2 在语意上单纯继承项目父项目和子项目关系性较弱

5. 写在父项目

5.1 作用:声明可能使用到的所有 jar

5.2 子项目中只需要有坐标的和,继 承父项目

5.3 在父项目中把所有版本好进行统一管理

5.4 父项目 pom.xml

5.4.1 子标签名称自定义

5.4.2 ${名字} 引用标签的值

<properties>
<spring-version>4.1.6.RELEASE</spring-version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring-version}</version>
</dependency>
</dependencies>
</dependencyManagement>

5.5 子项目

<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
</dependency>
</dependencies>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

城南皮卡丘

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值