一、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联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐