- 1.Maven简介
-
- (1)传统项目管理状态分析
- (2)Maven介绍
- (3)Maven的作用
- 2.Maven的下载与安装
-
- (1)下载Maven(Windows版)
- (2)安装Maven
- 3.Maven基础概念
-
- (1)仓库
- (2)坐标
- (3)本地仓库配置
- (4)远程仓库配置
- (5)镜像仓库配置
- (6)全局setting与用户setting
- 4.Maven项目创建
-
- (1)手动创建
- (2)插件创建
- (3)IDEA创建
-
- ① 在IDEA中配置好Maven环境
- ② 创建Maven工程
- ③ 编写测试代码
- ④ 使用Maven模板创建项目
- 5.依赖管理
-
- (1)依赖配置
- (2)依赖传递
- (3)可选依赖
- (4)排除依赖
- (5)依赖范围
- 6.生命周期与插件
-
- (1)生命周期
- (2)插件
- 7.分模块开发与设计
-
- (1)POJO模块拆分
- (2)Dao模块拆分
- (3)service模块拆分
- (4)controller模块拆分
- (5)总结
- 8.聚合
-
- (1)作用
- (2)制作方式
- 9.继承
-
- (1)模块依赖关系维护
- (2)继承作用与制作方式
- (3)继承依赖定义与依赖使用
- (4)继承与聚合的比较
- 10.属性版本管理
-
- (1)属性类别
- (2)属性类别:自定义属性
- (3)属性类别:内置属性
- (4)属性类别:Setting属性
- (5)属性类别:Java系统属性
- (6)属性类别:环境变量属性
- 11.版本管理
-
- (1)工程版本区分
- (2)工程版本分类
- (3)工程版本号约定
- 12.资源配置
-
- (1)作用
- (2)调用格式:
- (3)开启配置文件加载pom.xml中的属性
- 12.多环境开发配置
-
- (1)多环境兼容
- (2)在pom.xml中进行多环境配置
- (3)加载指定环境
- 13.跳过测试
-
- (1)跳过测试环节的应用场景
- (2)使用命令跳过测试
- (3)使用界面操作跳过测试
- (4)使用配置跳过测试
- 14.私服
-
- (1)分模块开发合作
- (2)下载、安装、启动与配置Nexus
-
- ① 下载
- ② 安装
- ③ 启动
- ④ 配置
- (3)获取私服资源
- (4)仓库分类
- (5)IDEA环境中资源上传与下载
- (6)访问私服配置
本文章笔记整理来自黑马视频https://www.bilibili.com/video/BV1Ah411S7ZE
1.Maven简介 (1)传统项目管理状态分析
Maven的本质是一个项目管理工具,它将项目开发和管理过程抽象成一个项目对象模型
(POM),其中的POM (Project Object Model)指的是项目对象模型。
① 项目构建:提供标准的、跨平台的自动化项目构建方式。 ② 依赖管理:方便快捷的管理项目依赖的资源(jar包),避免资源间的版本冲突问题。 ③ 统一开发结构:提供标准的、统一的项目结构。
2.Maven的下载与安装 (1)下载Maven(Windows版)
① Maven官方网址为https://maven.apache.org/。
② 下载Windows版本的安装包和源代码即可。
或者直接到https://archive.apache.org/dist/maven/maven-3中选择合适的版本进行下载。这里我下载的是3.8.1的版本(如下图所示)。
① 将上面下载的安装包放到合适的目录下(路径名称最好不要有中文或其它特殊字符),并进行解压(Maven属于绿色版软件,解压即安装),解压进去之后如下图所示。
② 配置环境变量(需要提前安装配置好JDK,版本为1.7及以上)
③ 测试Maven是否安装成功,只需要在命令行窗口中输入命令mvn或mvn -v,如果出现了类似下面的信息,则说明Maven已经安装成功。
① 仓库:用于存储资源,包含各种jar包 ② 仓库分类:
本地仓库 自己电脑上存储资源的仓库,连接远程仓库获取资源 远程仓库 非本机电脑上的仓库,为本地仓库提供资源 除此之外,远程仓库又分为以下两种: 中央仓库 由Maven团队维护,存储所有资源的仓库 – – 私服 部门/公司范围内存储资源的仓库,从中央仓库获取资源 ③ 私服的作用: 1)保存具有版权的资源,包含购买或自主研发的jar(中央仓库中的jar都是开源的,不能存储具有版权的资源)。 2)在一定范围内共享资源,仅对内部开放,不对外共享。 (2)坐标① 坐标指的是用于描述仓库中资源的位置(见网站https://repo1.maven.org/maven2/)。 ② Maven坐标主要组成:
groupld 定义当前Maven项目隶属组织名称(通常是域名反写,例如: org.mybatis) artifactld 定义当前Maven项目名称(通常是模块名称,例如CRM、SMS) version 定义当前项目版本号 ③ Maven坐标的作用: 使用唯一标识,唯一性定位资源位置,通过该标识可以将资源的识别与下载工作交由机器完成。 (3)本地仓库配置① Maven启动后,会自动保存下载的资源到本地仓库。 ② conf目录下的settings.xml文件是Maven的全局配置文件,里面说明的默认位置如下:
<localRepository>${user.home}/.m2/repository <snapshots> <enabled>false <mirror> <id>nexus-aliyun <mirrorOf>central <name>Nexus aliyun <url>http://maven.aliyun. com/nexus/content/groups/publicproject-packaging} -DartifactId={project-name} -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
② 创建java工程
mvn archetype:generate -DgroupId=com.itheima -DartifactId=java-project - DarchetypeArtifactId=maven-archetype-quickstart -Dversion=0.0.1-snapshot - DinteractiveMode=false
③ 创建web工程
mvn archetype:generate -DgroupId=com.itheima -DartifactId=web-project - DarchetypeArtifactId=maven-archetype-webapp -Dversion=0.0.1-snapshot - DinteractiveMode=false(3)IDEA创建 ① 在IDEA中配置好Maven环境
至此,一个Maven工程便创建好了。除此之外,若想改变文件夹的资源类型,也可以右键点击,选择Mark Directory as进行修改(一般保持Maven的默认即可)。
在pom.xml中引入需要的依赖,此处以Junit的jar为例(初次引入时需要联网下载,若代码报错,可以点击右侧的Maven按键,在里面选择刷新),那么这样Junit的jar包就导入到项目里了。
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0 public String say(String name){ System.out.println("Hello "+name); return "Hello "+name; } }
package com.itheima; import org.junit.Assert; import org.junit.Test; public class DemoTest { //单元测试 @Test public void testSay(){ Demo d = new Demo(); String ret = d.say("itheima"); Assert.assertEquals("Hello itheima",ret); } }
④ 利用Maven操作项目
或者使用另外一种方式:
1)创建普通Java项目
注:resources目录需要手工添加,并且标记为与上面一样的资源类型。
2)创建Java Web项目
配置pom.xml:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0 <packaging>war <groupId>com.itheima <artifactId>web01 <version>1.0-SNAPSHOT <dependencies> <dependency> <groupId>junit <build> <plugins> <plugin> <groupId>org.apache.tomcat.maven <dependencies> <dependency> <groupId>junit <artifactrd>junit<lartifactid> <version>4.12 <version>4.12 <build> <plugins> <plugin> <groupId>org.apache.maven.plugins <executions> <execution> <goals> <goal>jar <parent> <groupId>com.itheima <relativePath>../ssm/pom.xml <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework <dependency> <groupId>org.springframework <properties> <spring.version>5.1.9.RELEASE <properties> <jdbc.url>jdbc:mysql://localhost:3306/ssm_db <resources> <resource> <directory>${project.basedir}/src/main/resources <filtering>true <profiles> <profile> <id>pro_env <properties> <jdbc.url>jdbc:mysql://127.1.1.1:3306/ssm_db <activation> <activeByDefault>true <profile> <id>dep_env <properties> <jdbc.url>jdbc:mysql://127.2.2.2:3306/ssm_db <skipTests>true <includes> <include>** /User*Test.java <excludes> <exclude>**/User*TestCase.java关注打赏