文章目录
4.Maven的概述与使用
4.1 maven的概述
当前项目中我们虽然简化了一些操作,但是也出现了一些新问题
- jar包过多不好管理
- 类过多,测试类 XML配置 功能类都卸载一起也不方便维护
所以我们就希望能不能有一个技术帮助我们管理下我们现阶段的WEB项目呢?答案是肯定的,那就是Maven!
4.1.1 什么是maven?
概念 :
Maven 翻译为"专家"、“内行”,是 Apache 下的一个纯 Java 开发的开源项目。
基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。
Maven 是一个项目管理工具,可以对 Java 项目 进行构建、依赖管理。
你应该能看到 : 如果我想用maven管理我的java项目 那么我必须安装JDK;
maven 用于管理在Java项目编写期间的
-
项目构建
怎么去创建一个项目 项目目录 和我们现在的web项目不一样 -
依赖(jar包)管理
项目中应用的jar怎么放入我的项目里
4.1.2 项目构建与依赖管理
什么是项目构建?
简单理解就是maven对项目结构做了标准化的规定,这样更有利于编写一些大型项目
项目构建的意义
maven构建项目走的是一个统一 标准流程 在任何环境下都是一样的项目(eclipse idea)
意义 : 能够让你和具体的IDE进行解耦和 你的代码就再也不受IDE的影响了
什么是依赖管理?
依赖管理就是对项目中的jar包进行管理的
以前 我们自己管理jar包 :
- 重复率太高 占用硬盘资源
- 有些jar非常难找 不方便管理
- jar与jar有可能还会发生版本冲突
以后 管理jar包
maven 仓库式管理jar包
4.2 Maven安装与配置
4.2.1 maven的安装
-
获取压缩包并复制到根目录下,比如说D盘
-
拷贝maven的安装根目录D:\apache-maven-3.3.9 准备配置环境变量
需要注意的是此处我们以D盘举例拷贝的就是D盘的安装目录 -
配置环境变量
- 创建一个MAVEN_HOME的环境变量 key MAVEN_HOME val D:\apache-maven-3.3.9
- 修改path环境变量
1. 判断最后一个环境变量是否以;结尾
1. 如果是 %MAVEN_HOME%\bin
2. 如果不是 ;%MAVEN_HOME%\bin
- 验证是否安装成功
1. cmd 输入 mvn -v
2. 如果打印下方的信息,那么说明配置成功
4.2.2 maven仓库的配置
-
maven的概念仓库
maven的一大特性是能够帮助我们管理jar包,那么maven是如何管理jar包的呢?
maven仓库 --> maven 存放jar的地方
1) maven团队的统一存储jar的一个服务器 --> maven中央仓库 全世界的java(大数据 python)开发程序共享仓库
中央仓库 : 存放世界上最多的jar包 但是访问速度很慢2) maven的本地仓库 --> 在你电脑里创建一个文件夹存储jar包 配置步奏 : 解压课件中的maven.rar到根目录,获取一个文件夹 点开这个文件夹,发现还有一个repository的文件夹,这个本地仓库了,里面存储了很多jar包我们选择这个位置 比如我的是E:\maven\repository 然后点开自己的maven软件的安装目录 我的是 D:\apache-maven-3.3.9 找到里面的conf文件夹 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190806163831967.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTE3Mjg2MQ==,size_16,color_FFFFFF,t_70)
点开这个文件夹,用文本编译器打开settings文件,这个是maven的主要配置文件
打开这个文件后找到配置本地仓库的地方,配置你的仓库位置即可,这样maven就知道你的本地仓库的位置了
在箭头所示的地方加上包的地址即可
3) 总结
- 本地仓库 jar包数量 最少 但是访问速度是 最快的
2. 中央仓库 jar包数量 最多 但是访问速度是 最慢的
3. 远程仓库(私服) jar包数量 适中 而且访问速度也是 适中
访问顺序 : 如果项目需要一个jar 那么maven先查询本地仓库是否有相关的jar
如果有 直接返回
如果没有 先看下有没有配置远程仓库 如果配置了 直接访问远程仓库
如果没有配置远程 直接访问中央仓库 下载jar(自动下载)
下载好了之后放到本地仓库里 然后下次再用相同jar 直接从本地获取即可
4.2.3 Eclipse中应用Maven
1) 你需要让eclipse知道 你的maven 在哪呢
点击 window 选择首选项
输入maven 搜索 maven插件
选择Installations 点击 Add按钮
点开的菜单中选择你的maven的安装目录
选择完成后点击确定,然后点击Finish完成
最后还有一步就是勾选你刚才选择的maven 这样就配置完了你自己的maven
2) 你需要让eclipse知道 你的仓库 在哪呢
maven的主配置窗口选择 User Settings 选项
然后点击User Settings后面的Browse按钮选择你的maven文件夹下的配置文件
选完之后的效果
选完之后仔细观察下面的输入框 是不是你的本地仓库地址,如果是就说明配置没有问题,直接点击后面的Reindex按钮创建索引
然后点击Apply,点击OK 完成eclipse的maven配置
4.3 Maven的使用
4.3.1 Eclipse创建MavenWEB工程
左侧空白区域邮件 “new” 选择 “other”
弹出的输入框输入 “maven” 选择下面的 “Maven Project” 点击 “Next”
在弹出的对话框选择"Create a simple project…" 这一项,这个选择后eclipse只创建一个有基础结构的maven项目
点击 “Next” 之后进行项目信息的录入
填完之后的效果
此处需要注意,web项目编译好之后打包成一个war包直接可以放在tomcat里运行,此处我们是交给maven帮助我们打包
输入完信息后点击 “Finish” 即可
创建完的项目发生初始化错误
此时选择JavaEE视图
或者
切换到JavaEE视图,在项目上右键 选择 “Java EE Tools” 然后再选择 "Generate Deployment …"即可
选择完成后项目就不会报错了
然后切换回javaSE视图
或者
到此 maven的web项目创建成功
4.3.2 maven的项目目录结构
根目录 点进去
-
src --> 进行java项目编码的统一目录
1. main --> 写普通的java代码的
1. java --> 必选 统一编写.java文件的地方 , 代码src目录 --> src/main/java
2. resources --> 必须 统一编写配置文件的地方, xml classpath下 src --> src/main/resources
3. webapp --> 可选 代替了我们之前的webContext ,为啥可选? maven创建web 打包方式 war --> webapp 打包方式如果是jar webapp没有 -
test --> 写单元测试代码
1. java --> 单元测试期间编写的.java
2. resources --> 单元测试期间用到的配置文件都可以放到这个 -
target --> maven项目存放编译好的文件的统一输出目录 这个目录是不需要你创建及管理 由maven自己管
-
pom.xml --> maven项目的核心配置文件 记录了项目引入了哪些jar包和这个项目是什么打包方式还有这个项目是什么GAV信息
<!--组织,项目-->
<groupId>com.hnxy</groupId>
<!--模块-->
<artifactId>spring_class1_tp4</artifactId>
<!--版本-->
<version>0.0.1-SNAPSHOT</version>
maven的GAV信息,含义 : 定位一个jar/war的包位置
<packaging>war</packaging> --> 打包方式 war 代表打包war jar 代表打包jar包
依赖配置
<dependencies>
<!-- jar包 -->
<dependency>
<!--简称maven项目的GAV信息-->
<!--jar包的组织信息与项目信息-->
<groupId>junit</groupId>
<!--项目模块ID-->
<artifactId>junit</artifactId>
<!--指定引用某个模板版本-->
<version>4.10</version>
</dependency>
</dependencies>
举例说明 maven 是如何通过一个GAV信息找到 jar包的
junit junit(G).junit(A).4.10(V)
\mysql\mysql-connector-java\5.1.6
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.6</version>
</dependency>
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.6</version>
</dependency>
4.3.3 maven的初始化设置
修改由插件创建的maven项目的编码模式与jdk版本
<properties>
<!-- 项目编码 -->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!-- 编译及输出的时候应用那个版本的jdk -->
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
</properties>
4.3.4 maven的简单使用
如何往项目中添加jar包?
双击pom.xml文件,然后选择Dependencies 打开该视图后点击 “Add” 按钮查找要导入的jar包即可
比如导入dbutls
查找 选择 点击ok即可 此处要注意选择的jar包的版本和类型如果后面标记了 jar 就是正常jar包
如果后面标记的的 lastUpdated 这样就不是一个jar包,只有jar包可以导入 其他的都是错误的!
以下附赠所有要导入的包
<dependencies>
<dependency>
<groupId>commons-dbutils</groupId>
<artifactId>commons-dbutils</artifactId>
<version>1.6</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.9</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.6</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>1.1.2</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.0.2.RELEASE</version>
</dependency>
</dependencies>
导入之后效果
导入完成后就能愉快的开发了!