JavaEE——Maven 基础
目录
一、Maven 介绍
3.1什么是 Maven
Maven 是一个项目管理工具,它包含了
一个项目对象模型 (POM:Project Object Model),
一组标准集合,一个项目生命周期(Project Lifecycle),
一个依赖管理系统(Dependency Management System),
和用来运行定义在生命周期阶段(phase)中插件(plugin)目标 (goal)的逻辑。
3.2Maven 能解决什么问题
能帮你构建工程,管理 jar 包,编译代码,还能帮你自动运行单元测试,打包,生成报表,甚至能帮你部署项目,生成 Web 站 点。
3.3 Maven 的优势举例
Maven工程里面不需要jar包
二、Maven 的两个经典作用
2.1 Maven 的依赖管理
Maven 的一个核心特性就是依赖管理。当我们涉及到多模块的项目(包含成百个模块或者子项目),管理依赖就变成 一项困难的任务。Maven 展示出了它对处理这种情形的高度控制。
Maven 工程中不直接将 jar 包导入到工程中,而是通过在 pom.xml 文件中添加所需 jar 包的坐标,这样就很好的避免了 jar 直接引入进来,在需要用到 jar 包的时候,只要查找 pom.xml 文 件,再通过 pom.xml 文件中的坐标,到一个专门用于”存放 jar 包的仓库”(maven 仓库)中根据坐标从 而找到这些 jar 包,再把这些 jar 包拿去运行。
第一:”存放 jar 包的仓库”长什么样?
第二:通过读取 pom.xml 文件中的坐标,再到仓库中找到 jar 包,会不会很慢?从而导致这种方式 不可行!
2.2 项目的一键构建
我们的项目,往往都要经历编译、测试、运行、打包、安装 、部署等一系列过程。
什么是构建? 指的是项目从编译、测试、运行、打包、安装 、部署整个过程都交给 maven 进行管理,这个过程称为构建。
一键构建 指的是整个构建过程,使用 maven 一个命令可以轻松完成整个工作。
三、Maven 的使用
3.1 Maven 软件的下载
为了使用 Maven 管理工具,我们首先要到官网去下载它的安装软件。
通过百度搜索“Maven“即可。
目前课程使用的是 apache-maven-3.5.3 版本,大家也可以下载最新版本。
Apache-maven-3.5.2 下载地址:Index of /dist/maven/maven-3http://archive.apache.org/dist/maven/maven-3/
3.2 Maven 软件的安装
Maven 下载后,将 Maven 解压到一个没有中文没有空格的路径下,比如 D:\software\maven 下面。
bin:存放了 maven 的命令
boot:存放了一些 maven 本身的引导程序,如类加载器等
conf:存放了 maven 的一些配置文件,如 setting.xml 文件
lib:存放了 maven 本身运行所需的一些 jar 包
至此我们的 maven 软件就可以使用了,前提是你的电脑上之前已经安装并配置好了 JDK。
3.3 Maven 及 JDK 配置
电脑上需安装 java 环境,安装 JDK1.7 + 版本
配置 MAVEN_HOME ,变量值就是你的 maven 安装 的路径(bin 目录之前一级目录)
3.4 Maven 软件版本测试
通过 mvn -v命令检查 maven 是否安装成功,看到 maven 的版本为 3.5.2 及 java 版本为 1.8 即为安装成功。
打开 cmd 命令,输入 mvn –v命令
四、Maven 仓库
4.1 Maven 仓库的分类
本地仓库 :
用来存储从远程仓库或中央仓库下载的插件和 jar 包,项目使用一些插件或 jar 包,
优先从本地仓库查找
默认本地仓库位置在 ${user.dir}/.m2/repository,${user.dir}表示 windows 用户目录。
远程仓库:
如果本地需要插件或者 jar 包,本地仓库没有,默认去远程仓库下载。
远程仓库可以在互联网内也可以在局域网内。
中央仓库 :
在 maven 软件中内置一个远程仓库地址 http://repo1.maven.org/maven2 ,它是中央仓库,服务于整个互联网,它是由 Maven 团队自己维护,里面存储了非常全的 jar 包,它包含了世界上大部分流行的开源项目构件。
4.2 Maven 本地仓库的配置
因为我们在无网的状态下学习,需要配置老师提供的本地仓库,将 “repository.rar”解压至自己的电脑上,我们解压在 D:\repository 目录下(可以放在没有中文及空格的目录下)。
在 MAVE_HOME/conf/settings.xml 文件中配置本地仓库位置(maven 的安装目录下)
五、Maven 工程的认识
5.1 Maven 工程的目录结构
作为一个 maven 工程,它的 src 目录和 pom.xml 是必备的。
进入 src 目录后,我们发现它里面的目录结构如下:
src/main/java —— 存放项目的.java 文件
src/main/resources —— 存放项目资源文件,如 spring, hibernate 配置文件 src/test/java —— 存放所有单元测试.java 文件,如 JUnit 测试类 src/test/resources —— 测试资源文件
target —— 项目输出位置,编译后的 class 文件会输出到此目录
pom.xml——maven 项目核心配置文件
注意:如果是普通的 java 项目,那么就没有 webapp 目录。
六、Maven 常用命令
我们可以在 cmd 中通过一系列的 maven 命令来对我们的 maven-helloworld 工程进行编译、测试、运行、打包、安装、部署。
6.1 compile
compile 是 maven 工程的编译命令,作用是将 src/main/java 下的文件编译为 class 文件输出到 target目录下。
6.2 test
test 是 maven 工程的测试命令 mvn test,会执行 src/test/java 下的单元测试类。
6.3 clean
clean 是 maven 工程的清理命令,执行 clean 会删除 target 目录及内容。
6.4 package
package 是 maven 工程的打包命令,对于 java 工程执行 package 打成 jar 包,对于 web 工程打成 war包。
6.5 install
install 是 maven 工程的安装命令,执行 install 将 maven 打成 jar 包或 war 包发布到本地仓库。
6.6 maven的生命周期
maven 对项目构建过程分为三套相互独立的生命周期,请注意这里说的是“三套”,而且“相互独立”,这三套生命周期分别是:
Clean Lifecycle 在进行真正的构建之前进行一些清理工作。
Default Lifecycle 构建的核心部分,编译,测试,打包,部署deploy等等。
Site Lifecycle 生成项目报告,站点,发布站点。
相关文章
- 【NLP基础】英文关键词抽取RAKE算法
- 解决Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.7.0:compile
- maven镜像还有不支持发型版本5
- 改变maven打包路径_Maven打包技巧「建议收藏」
- Maven打包——配置文件
- containerbase.addchild start_maven compiler plugin
- 使用 Nexus 搭建 maven 私服
- Maven 菜鸟教程 1 安装和配置[通俗易懂]
- Maven docker-maven-plugin 插件 Push 413 错误
- Maven配置Tomcat_maven和tomcat的区别
- filter-policy_maven reimport
- maven的搭建
- 2-1. Maven 三层项目结构搭建
- eclipse 创建maven web示例详解程序员
- maven私服从中央仓库下载不下来drools的相关jar包详解架构师
- 完美解决maven打包乱码的问题,插件plugin报错的问题详解编程语言
- Maven聚合
- Linux下快速配置Maven环境(linux配置maven)
- 的依赖Maven中添加MySQL依赖的操作步骤(maven添加mysql)
- Maven与Redis完美结合实现高效管理Creating efficient Redis Integration using Maven(maven整合redis)
- Redis与Maven:实现更高效的技术结合(redis与maven)