Maven

Maven

1.1 什么是 Maven

Maven 的正确发音是[?mev?n],而不是“马瘟”以及其他什么瘟。Maven 在美国是一个口语化的词
语,代表专家、内行的意思。
一个对 Maven 比较正式的定义是这么说的:Maven 是一个项目管理工具,它包含了一个项目对象模
型 (POM:Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管
理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标
(goal)的逻辑。

 Maven 是项目管理工具 对软件项目提供构建与依赖管理

Maven是Apache下的Java开源项目

 

1.2Maven 核心特性

项目设置遵循统一的规则,保证不同开发环境的兼容性

强大的依赖管理,项目依赖组件自动下载、自动更新

可扩展的插件机制,使用简单,功能丰富

Maven 的依赖管理:传统工程jar包放在项目中,maven开发的工程根据jar的坐标找到jar仓库。

仓库检索网站https://search.maven.org/

项目的一键构建:我们的项目,往往都要经历编译、测试、运行、打包、安装 ,部署等一系列过程。指的是项目从编译、测试、运行、打包、安装 ,部署整个过程都交给 maven 进行管理,这个过程称为构建。

 Maven 的使用

1.官网下载:Maven – Download Apache Maven

Maven

下载第二个

2.解压到D盘

3.添加环境变量

    变量名:MEVEN_HOME

    变量值:D:\apache-maven-3.8.1

    在Path中添加:%MANEN_HOME%\bin

    确保环境变量中有JAVAHOME

4.打开命令行窗口 输入mvn -v

maven项目标准目录结构

src/main/java目录     核心代码
src/main/resources 配置文件部分
src/test/java目录 测试代码部分,如 JUnit 测试类
src/test/resources 测试配置文件,如 spring, hibernate 配置文件
src/main/webapp 页面资源 ,js,css,图片等等
target 项目输出的目录,用于存储jar,war文件
target/classes 字节码(.class)的编译输出目录
pom.xml maven 项目核心配置文件

 

Maven常用命令

命令 用途
mvn archetype:generate 创建Maven工程结构
mvn compile 编译源代码
mvn test 执行测试用例
mvn clean 清除产生的项目
mvn package 项目打包
mvn install 安装至本地仓库

1.clean
clean 是 maven 工程的清理命令,执行 clean 会删除 target 目录及内容。

2.compile
compile 是 maven 工程的编译命令,作用是将 src/main/java 下的文件编译为 class 文件输出到 target
目录下。

3.test
test 是 maven 工程的测试命令 mvn test,会执行 src/test/java 下的单元测试类。也会编译src/main/java的代码

4.package
package 是 maven 工程的打包命令,对于 java 工程执行 package 打成 jar 包,对于 web 工程打成 war
包。

5.install
install 是 maven 工程的安装命令,执行 install 将 maven 打成 jar 包或 war 包发布到本地仓库。会执行compile,test,package,把项目放在了本地仓库

Maven生命周期

Maven

Maven概念模型

Maven

项目对象模型 (Project Object Model)
一个 maven 工程都有一个 pom.xml 文件,通过 pom.xml 文件定义项目的坐标、项目依赖、项目信息、
插件目标等。

赖管理系统(Dependency Management System)
通过 maven 的依赖管理对项目所依赖的 jar 包进行统一管理。
比如:项目依赖 junit4.9,通过在 pom.xml 中定义 junit4.9 的依赖即使用 junit4.9,如下所示是 junit4.9
的依赖定义:

<!-- 依赖关系 -->
<dependencies>
	<!-- 此项目运行使用 junit,所以此项目依赖 junit -->
	<dependency>
		<!-- junit 的项目名称 -->
		<groupId>junit</groupId>
		<!-- junit 的模块名称 -->
		<artifactId>junit</artifactId>
		<!-- junit 版本 -->
		<version>4.9</version>
		<!-- 依赖范围:单元测试时使用 junit -->
		<scope>test</scope>
</dependency>

 Maven坐标

 GroupId:机构或者团体的英文,采用 逆向域名 形式书写

ArtifactId:项目名称 说明其用途,例如:cms,oa...
Version: 版本号,一般采用 版本+单词 形式  例如1.1.0.RELEASE 

 idea 开发 maven 项目

1 打开?File?Settings 配置 maven

Maven

Maven

在没网时会加载本地的

2 idea 中创建一个 maven 骨架的 Java工程

Maven

Maven

3 idea 中创建一个 maven 骨架的 web工程

Maven

 

Maven

上一篇:安鸾 命令执行 Writeup


下一篇:利用m3u8下载ts并合并成一个完整视频 下载 blob视频