Maven的简单使用

参考:https://www.cnblogs.com/xdp-gacl/p/3498271.html

Maven的基本概念

  Maven(翻译为"专家","内行")是跨平台的项目管理工具。主要服务于基于Java平台的项目构建,依赖管理和项目信息管理。

项目构建

  项目构建过程包括【清理项目】→【编译项目】→【测试项目】→【生成测试报告】→【打包项目】→【部署项目】这几个步骤,这六个步骤就是一个项目的完整构建过程。

理想的项目构建是高度自动化,跨平台,可重用的组件,标准化的,使用maven就可以帮我们完成上述所说的项目构建过程。

依赖管理

  依赖指的是jar包之间的相互依赖,比如我们搭建一个Struts2的开发框架时,光有 struts2-core-2.3.16.3.jar 这个jar包是不行的,struts2-core-2.3.16.3.jar 还依赖其它的jar包,依赖管理指的就是使用Maven来管理项目中使用到的jar包,Maven管理的方式就是“自动下载项目所需要的jar包,统一管理jar包之间的依赖关系”。

使用Maven的好处

  Maven中使用约定,约定java源代码代码必须放在哪个目录下,编译好的java代码又必须放到哪个目录下,这些目录都有明确的约定。

  Maven的每一个动作都拥有一个生命周期,例如执行 mvn install 就可以自动执行编译,测试,打包等构建过程

  只需要定义一个pom.xml,然后把源码放到默认的目录,Maven帮我们处理其他事情

  使用Maven可以进行项目高度自动化构建,依赖管理(这是使用Maven最大的好处),仓库管理。

安装

下载地址:
http://maven.apache.org/download.cgi

下载 Maven 的 zip 文件,例如: apache-maven-3.5.4-bin.zip,将它解压到要安装 Maven 的文件夹。例如:D:\maven
Maven目录分析

  • bin:含有mvn运行的脚本
  • boot:含有plexus-classworlds类加载器框架
  • conf:含有settings.xml配置文件
  • lib:含有Maven运行时所需要的java类库
  • LICENSE.txt, NOTICE.txt, README.txt针对Maven版本,第三方软件等简要介绍

添加到系统环境变量

添加 M2_HOMEMAVEN_HOME 到系统环境变量,并将其指向刚才解压后的 Maven 文件夹。
注意:
关于M2_HOMEMAVEN_HOME
Maven 说只是添加 M2_HOME,但一些项目仍引用 Maven 的文件夹 MAVEN_HOME,因此,为了安全也把它添加进去。

添加 PATH 变量,添加 Maven bin 文件夹到 PATH 的最后,如: %M2_HOME%\bin, 这样就可以在命令中的任何目录下运行 Maven 命令了。

验证:
在cmd中执行 mvn –version

Maven项目的目录约定

MavenProjectRoot(项目根目录)
   |----src
   |     |----main
   |     |         |----java ——存放项目的.java文件
   |     |         |----resources ——存放项目资源文件,如spring, hibernate配置文件
   |     |----test
   |     |         |----java ——存放所有测试.java文件,如JUnit测试类
   |     |         |----resources ——存放项目资源文件,如spring, hibernate配置文件
   |----target ——项目输出位置
   |----pom.xml ——用于标识该项目是一个Maven项目

手动创建Maven项目,使用Maven编译

1、创建项目根文件夹,例如Maven01

2、在Maven01文件夹中创建“pom.xml”文件

  pom.xml文件中的内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<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">
  <!--所有的Maven项目都必须配置这四个配置项-->
  <modelVersion>4.0.0</modelVersion>
  <!--groupId指的是项目名的项目组,默认就是包名-->
  <groupId>cn.youif.maven.hello</groupId>
  <!--artifactId指的是项目中的某一个模块,默认命名方式是"项目名-模块名"-->
  <artifactId>hello-first</artifactId>
  <!--version指的是版本,这里使用的是Maven的快照版本-->
  <version>SNAPSHOT-0.0.1</version>
</project>

3、编写Java类文件,Maven项目规定,所有的*.java文件必须放在src目录下的main目录下的java目录中,在Maven01项目根目录中创建一个src目录,然后在src目录中创建main目录,在main目录中再创建java文件夹:

在java文件夹下创建一个Hello.java文件

在Hello.java文件中编写如下代码:

public class Hello{
     public static void main(String[] args){
         System.out.println("Hello Maven");
     }
}

4、使用Maven编译Hello.java,首先进入到项目根目录,然后使用命令 mvn compile 进行编译

使用命令”mvn compile”进行编译

使用Maven编译完成之后,在项目根目录下会生成一个target文件夹,如下图所示:

生成一个target文件夹

打开target文件夹,可以看到里面有一个classes文件夹

classes文件夹存放的就是编译成功后生成的.class文件

既然.class 都生成了,就可以用 java Hello运行了。
过程:Hello.java--(javac Hello.java)--> 生成Hello.class --> 运行 java Hello(注意不需要加.class)--> 输出结果 Hello Maven

5、使用 mvn clean 命令清除编译结果,也就是把编译生成的target文件夹删掉

修改从Maven中心仓库下载到本地的jar包的默认存储位置

从Maven中心仓库下载到本地的jar包的默认存放在 ${user.home}/.m2/repository 中,${user.home}表示当前登录系统的用户目录(如"C:\Users\gacl")

repository

下载到本地的jar包的默认存储位置

Jar包存放在这个位置不太好,我们希望能够自己定义下载下来的jar包的存放位置,因此我们可以自己设置下载到本地时的jar包的存放目录。

在“E:\”目录下创建一个“repository”文件夹

创建一个“repository”文件夹

找到apache-maven-3.2.3\conf目录下的settings.xml文件
编辑setting.xml文件,如下图所示:

编辑setting.xml文件

加上代码:<localRepository>E:/repository</localRepository>

jar包默认存放位置

这样就可以把jar包下载到我们指定的E:/repository目录中了。

把jar包下载到本地的好处就是,当编译时,会优先从本地的jar包去找,如果本地存在,就直接拿来用,如果不存在,就从Maven的中心仓库去下载。

第一次执行"mvn compile"和"mvn clean"这两个命令时,Maven会去中央仓库下载需要的jar包,而第二次执行这两个命令时,由于所需的jar包已经在本地的仓库中存储,所以就可以直接拿来用了,这样就省去了去中央仓库下载jar包的时间。

以上就是Maven的简单入门讲解。


再次声明,以上内容摘自:https://www.cnblogs.com/xdp-gacl/p/3498271.html
教程写的非常详细,非常感谢!

posted @ 2021-04-03 22:40  你是真的菜啊  阅读(99)  评论(0编辑  收藏  举报