一、Maven学习笔记

1.0 什么是Maven

Maven翻译成中文是专家的意思,他是apache组织提供的一个顶级项目;是一个Java开发工具。
作用:

  • 管理项目构建生命周期
  • 管理项目中jar包
  • 管理项目基础信息(文档管理、测试报告)

1.1 项目构建生命周期

(1)简单的生命周期:开发——> 编译 ——> 打包 ——> 发布

打包:

  • 简单的java工程——将所有Java类打包成jar
  • 简单的web工程——将工程打包成war(war包放到Tomcat中webapps下,启动Tomcat服务器会解包出来)

(2)专业流程:清理(将生成的jar、war包等删除)——> 编译 ——> 测试 ——> 报告 ——> 打包 ——> 发布

1.2 怎么把web项目打成war包(IDEA)

首先,点击File ——> Project Structure…
在这里插入图片描述
选择Artifacts ——> Web Application:Archive ——> Empty
在这里插入图片描述
下图对应步骤完成后,点击应用,确定即可。
在这里插入图片描述
之后,再点击菜单栏的Build,选择Build Artifacts…
在这里插入图片描述
找到刚才的导出包名称,点击后选择Build,等编译完成
在这里插入图片描述
完成后,到我们刚才的生成包路径下就可以看到我们的war包了
在这里插入图片描述
在这里插入图片描述
要想让他能用也只需要把这个war包放到tomcat的webapp目录下即可。
接着我们启动Tomcat服务器。
在这里插入图片描述
我们的myWeb会被自动解包出来。
在这里插入图片描述
而且里面所有的java类都被打包成了jar包
在这里插入图片描述
浏览器也能正常访问。
在这里插入图片描述

1.3 使用Maven管理jar包的好处

传统的jar包管理方式有以下几个难点:
1、定位困难(总要去各种官网下载)
2、jar包之间依赖较难(部分jar包可能会依赖其他各个jar包,这就导致你可能需要不停在下载jar包和编译之间奔波)
3、jar包之间的冲突(如果不同jar包中有相同的类或者方法之类的可能会产生冲突)
4、jar管理

引入Maven就可以很好地解决以上问题。

       Maven这个工具会在我们本地的计算机上建立一个本地仓库,将所有的jar包存放到仓库中,当我们的项目需要用到jar包的时候,maven就把对应的jar包给他,如果本地仓库没有对应的jar包,那么maven会跑到局域网中的私服仓库(这个仓库拥有很多很多的jar包)中寻找jar包,如果还找不到的话,maven还会继续跑到外网去找jar包(这个外网是英国面向全世界开放的一个中央仓库),找到jar包后,maven再把jar包给我们项目送回来。

       但是,但是,跑到外网去找jar包是不是有点太麻烦了,而且,要是我们的项目需要的包都得跑到英国的那个中央仓库去,那得慢成什么样。所以,我们国家的良心企业就整了些镜像服务器(比如阿里的镜像,这就给了我们白嫖的好机会)。

1.4 Maven的下载和配置

详细可参考此链接
顺便说下,如果要手动配置我们的本地仓库还有设置镜像的话,教程如下:
首先到我们的maven目录下,双击进入conf目录,找到我们的settings.xml并打开。
在这里插入图片描述

注意:以下修改记得不要放在注释中,如果在注释中写代码,那么代码无效。

注释长这样
<!-- -->

修改localRepository标签可以更改我们的本地仓库的位置(这个路径需要更改为你自己想要存放的仓库位置)

  <localRepository>D:\Program Files\apache-maven-3.6.3-bin\apache-maven-3.6.3\repository</localRepository>

在这里插入图片描述

修改mirrors标签如下,设置阿里云镜像

  <mirrors>
	<mirror> 
	  <id>nexus-aliyun</id> 
	  <name>nexus-aliyun</name> 
	  <url>http://maven.aliyun.com/nexus/content/groups/public</url> 
	  <mirrorOf>central</mirrorOf> 
	</mirror>
  </mirrors>

在这里插入图片描述

1.5 Maven工程结构

要使用Maven管理工程,我们必须按照【约定结构】来创建:

  • src文件夹:(存放java代码)
    ——main文件夹(主要进行开发)
            ——java文件夹(创建java文件)
            ——resources文件夹(存放配置文件)
    ——test文件夹(主要进行测试)
            ——java文件夹(创建测试类)
            ——resources文件夹(放置测试时使用的配置文件)
  • target文件夹:(编译后的class文件,创建项目时,无需创建,Maven命令执行时会自动生成)
  • pom.xml文件:(核心配置文件,主要向 Maven 请求 jar 包)

1.6 Maven常见命令

命令描述
mvn clean删除工程中的target
mvn compile将当前工程中main文件下所有的java编译为class
并输送到工程的target目录
mvn test调用test文件夹下所有测试类中所有测试方法并生成测试报告
mvn package将当前工程中test文件夹下所有测试类调用执行测试并生成测试报告
如果测试没有问题,将class文件打成jar或war包
输送到target目录
mvn install与mvn package命令基本相同,将jar包或者war包推送到mvn本地仓库

1.7 Maven坐标(gav)

为了方便Maven对jar包的定位,在Mavaen世界中,每一个jar包都有一个独立的坐标由gav构成。
比如,junit的gav(groupId、artifactId、version)如下:

<!-- gav
	groupId是所在公司的域名的反顺序
	artifactId是当前项目的命名
	version是项目版本
 -->
<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.12</version>
    <!--scope里面如果是test的话,就表示这个jar包在测试的时候用-->
    <scope>test</scope>
</dependency>

1.8 IDEA配置和使用Maven

点击File菜单,选择Settings…
在这里插入图片描述
按以下操作完成后,点击Apply即可。
在这里插入图片描述

1.8.1 创建java工程

在项目中新建一个moodle
在这里插入图片描述
选择maven,打钩Create from archetype,然后选择quickstart在这里插入图片描述
在这里插入图片描述
校对信息,没错的话直接Finish
在这里插入图片描述
自此,我们的maven项目就构成成功啦
在这里插入图片描述
然后我们进入File菜单下的Project Structure,找到我们的moodle,把对应的sources、test、resources、test resources加上。
在这里插入图片描述
然后我们就可以随心所欲地写我们的java工程了。

1.8.2 创建javaWeb工程

新建一个moodle,选择webapp即可,其他跟上面基本一样
在这里插入图片描述
在这里插入图片描述
建完后,她可能会缺少一些目录,比如java、test等等,我们自己创建,然后把他们设置好,哪些是source root,哪个是resources root等等。
在这里插入图片描述
然后我们再配置我们的服务器(Tomcat),如下(根据框框点就行):
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
其他的参数啥的,根据自己需要设置即可。
在这里插入图片描述
然后我们需要什么jar包,我们就去Maven的中央仓库找即可。

1.9 怎么在Maven中央仓库找自己想要的jar包

先进入Maven的中央仓库,然后输入我们要的jar包的名称,点击Search按钮
在这里插入图片描述
找到自己想要的,直接进去
在这里插入图片描述
然后找我们想要的版本,单击(我这里点击了4.10.x)
在这里插入图片描述
往下拉可以看到这个,复制他的dependency标签的内容,然后放到pom.xml下的dependencies标签下即可。
在这里插入图片描述
在这里插入图片描述

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐