管理jar包;
将项目拆分为多个模块;
文章目录
基本介绍与作用
本地仓库 > 中央仓库 。推荐使用相关镜像实现对中央仓库分流。
.基于Java平台的自动化构建工具(ant,Maven,gradle),实现自动 清理,编译,测试,报告,打包,安装(将打包 放到本地仓库),部署(将包放到服务器运行)。
作用:
1. 管理jar包
增加第三方jar , 管理jar包之间的依赖关系,以后就不需要手动下载jar包及其依赖的jar包了。
2. 将项目拆分为若干个模块
以后代码量上升,(UI Service DAO)各个层的代码可以分别开发,Maven可以将各个层分开 的开发代码 变为模块再进行整合,形成一个大项目。要想实现整合,就要将各个模块打成的包部署到中央仓库中
一、安装,目录结构介绍
1. 安装:
安装Maven比较简单,之间将所在目录复制,新建环境变量“MAVEN_HOME” (E:\maven\apache-maven-3.6.1)与在path中添加 “%MAVEN_HOME%\bin;” ,打开cmd后输入 mvn -v,如图:
注意,配置之前 要有 "JAVA_HOME" 。 之后进行本地仓库配置:在conf文件夹下的settings.xml 中有默认的存储位置(默认本地仓库为 | Default: ${user.home}/.m2/repository),可以进行修改
<!-- localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: ${user.home}/.m2/repository
<localRepository>/path/to/local/repo</localRepository>
-->
<localRepository>E:/mavenRepository</localRepository>
同 Spring 一样,Maven也是约定优于配置,使用默认值就是约定的目录结构。
2. 目录结构介绍:
在eclipse中新建一个Maven Project,用以测试,如下:
之后显示如下:
如图可见:src(源码)下有 main(程序功能代码)和test(测试)模块,里面都有Java和resources(测试)模块。 下面的pom.xml 文件与src相同,项目对象模型,将一个项目当成一个对象的模型 ,对应pom.xml中的 gav 坐标,groupId 一般指 域名翻转.大项目名 groupId 指子模块名,version 指当前版本号。
可以搭建私服(nexus)提升效率。
二、
1. 依赖有效性与使用eclipse使用Maven
Maven在编译 测试 运行时 各用一个 classpathdependcy 默认为compile(编译),:
在eclipse中使用Maven之前,首先要进行对Maven的版本配置和本地仓库位置配置; 打开Windows-->Preference,搜索Maven,在installation中,点击add,选择已安装的Maven目录,之后点击usersettings,选择Maven--conf--settings.xml 实现本地仓库位置配置。如下图:
按上图完成eclipse的Maven配置后,即可进行 新建项目操作。
依赖的范围 、依赖的有效性 : compile test provided
依赖的排除:排除依赖的相关jar包 ,要在 pom.xml 设置完相关debpendency(gav)后,进行更新操作后刷新。
若想排除其中的一个依赖,可以将相关的 pom.xml 中添加 <exclusion>节点内添加要排除的ga坐标
依赖的传递性:若依赖条件为 a.jar--> b.jar --> c.jar ,引入a.jar 时需要确定 b.jar c.jar的依赖范围是 compile。
Maven生命周期包含 3个阶段:
clean lifecycle(清理) default lifecycle (默认) site lifecycle(站点)
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings('ignore')
import ssl
ssl._create_default_https_context = ssl._create_unverified_context
2.Maven整合项目模块
要想实现将两个以上的模块整合,首先要有一个本地仓库,先将项目放入仓库(install),再依赖该项目的模块引入该依赖(将要依赖的gav直接复制的到该项目的pom.xml中) 。
总结