Maven

引言:

            本文主要分享了Maven的相关知识,包括:Maven的安装、配置、仓库的种类、使用IDEA关联Maven、在IDEA中创建Maven项目的步骤(导入依赖的方法)、 创建Web项目的流程;


文章目录

  • Maven
  • 1. Maven简介
  • 2. Maven安装
  • 2.1 下载解压
  • 2.2 环境变量
  • 2.3 测试
  • 3. Maven配置
  • 3.1 本地仓库
  • 3.2 设置jdk环境
  • 3.3 设置镜像
  • 4. 仓库
  • 4.1 仓库种类
  • 4.2 jar包在Maven中的存储原理
  • 5. IDEA关联Maven
  • 5.1 IDEA中关联Maven
  • 5.2 创建Maven项目
  • GAV坐标
  • 项目位置
  • 5.3 Maven的目录结构
  • 5.4 导入依赖
  • 自此建立好一个普通的Java项目
  • 6. Maven创建Web项目
  • 6.1 Web模板
  • 6.2 配置GAV坐标
  • 6.3 确认Maven的配置
  • 6.4 设置项目的路径
  • 6.5 目录结构
  • 6.6 添加tomcat插件
  • 6.7 运行
  • 如此就建立好一个Web项目,开始各式各样的骚操作吧!!!


1. Maven简介

在项目中jar包的资源越多,管理就越麻烦:

  • 繁琐:为每个项目手动导入所需要的jar,前提是需要手机jar包;
  • 复杂:如果jar升级,就需要重新搜集jar;
  • 冗余:相同的jar包会在不同的项目中保存多份;

引入Maven

        Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建、报告和文档的软件项目管理工具,是一个项目管理和构建自动化工具,使用它来管理项目中的jar包;

  • 管理jar冲突问题
  • 公共代码重复利用
  • 高效的项目开发需要高效的项目管理工具
  • maven能处理从创建、编译、测试、部署 各个环节的项目管理

2. Maven安装

2.1 下载解压

  1. 首先下载Maven:https://maven.apache.org/download.cgi
  2. 将下载好的Maven放到指定的目录下(任意)
  3. 解压(尽量不要放到含有中文或者特殊符号的目录下)

目录结构:

  • bin:包含maven的运行脚本
  • boot:包含一个类加载器的框架
  • conf:包含Setting.xml配置文件
  • lib:含有Maven运行时所需要的Java类库,也就是依赖的类库

2.2 环境变量

Maven依赖Java的环境变量(配置好Java的环境变量);

MAVEN_HOME=(为maven的根目录)
在PATH环境变量里加入%MAVEN_HOME%\bin;即可

2.3 测试

mvn -v

idea 一直解析maven依赖_tomcat

  • 出现上图即为安装成功

3. Maven配置

在Maven的根目录下配置Settings.xml中

3.1 本地仓库

在maven工作目录下建repository目录作为本地仓库(可以是解压目录也可以是其他目录)

  • 其他目录:其中必须包括settings.xml与解压目录保持一致;
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
  <!-- localRepository
   | The path to the local repository maven will use to store artifacts.
   |
   | Default: ${user.home}/.m2/repository
  <localRepository>/path/to/local/repo</localRepository>
  -->
<!--设置本地仓库,路径为maven本地库的路径--><localRepository>E:/JavaLibrary/repository</localRepository>

3.2 设置jdk环境

在其中加入< profiles > < / profiles>标签

<profiles>
<!--在已有的profiles中加入profile标签-->
    <profile>     
        <id>jdk</id>   
        <activation>        
            <activeByDefault>true</activeByDefault>    
            <jdk>1.8</jdk>      
        </activation>  
        <properties>  
                  <maven.compiler.source>1.8</maven.compiler.source> 
                  <maven.compiler.target>1.8</maven.compiler.target> 
                  <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>   
		 </properties>
	 </profile>
</profiles>
<!--让增加的profile生效-->
<activeProfiles>
	<activeProfile>jdk</activeProfile>
</activeProfiles>

3.3 设置镜像

在其中加入< mirror></ mirror>,引用阿里云公共仓库;

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

4. 仓库

Maven仓库不仅存放着依赖,而且管理着每个依赖的唯一标识,Java项目凭借坐标获取依赖;

4.1 仓库种类

idea 一直解析maven依赖_tomcat_02

  • 当需要依赖时,会从仓库中寻找,顺序为:
  1. 本地仓库
  2. 私服(没有配置忽略)
  3. 公共仓库(没有配置忽略)
  4. 中央仓库

4.2 jar包在Maven中的存储原理

GAV:坐标

  • G:group 群组
  • A:artifacts 项目
  • V:version 版本

5. IDEA关联Maven

5.1 IDEA中关联Maven

跟住步骤即可

idea 一直解析maven依赖_maven_03

idea 一直解析maven依赖_java_04

5.2 创建Maven项目

新建项目点击Maven选项

idea 一直解析maven依赖_idea 一直解析maven依赖_05

GAV坐标

idea 一直解析maven依赖_tomcat_06

项目位置

idea 一直解析maven依赖_maven_07

5.3 Maven的目录结构

idea 一直解析maven依赖_maven_08

  • 在test包下应该有resources用来存放测试的配置文件;

5.4 导入依赖

项目建好之后需要通过坐标导入jar

  • 添加坐标就会生成相应的依赖,删除则失效;
  1. 通过网址:https://mvnrepository.com/寻找依赖,获得相应的坐标;

idea 一直解析maven依赖_idea 一直解析maven依赖_09

idea 一直解析maven依赖_tomcat_10

  1. 在项目的pom文件中导入依赖坐标(格式如下);
<dependencies>
     <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.12</version>
      <scope>test</scope>
    </dependency>
    <!--添加Servlet依赖-->
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>3.0.1</version>
        <!--编译器期使用-->
        <scope>provided</scope>
    </dependency>
</dependencies>
  1. 同步依赖;

idea 一直解析maven依赖_idea 一直解析maven依赖_11

自此建立好一个普通的Java项目

6. Maven创建Web项目

类似于普通的Maven项目,不同的是引入Web模板

6.1 Web模板

idea 一直解析maven依赖_idea 一直解析maven依赖_12

6.2 配置GAV坐标

idea 一直解析maven依赖_tomcat_13

6.3 确认Maven的配置

idea 一直解析maven依赖_java_14

6.4 设置项目的路径

idea 一直解析maven依赖_tomcat_15

6.5 目录结构

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Uez7vGeu-1600101028528)(D:\JavaOffline\Willing\Note\MyNote\03_SSM\image-20200914234650358.png)]

6.6 添加tomcat插件

在项目的build节点添加tomcat运行插件

<build>
   <plugins>
     <!--给maven web项目添加tomcat插件-->
     <plugin>
     <groupId>org.apache.tomcat.maven</groupId>
     <artifactId>tomcat7-maven-plugin</artifactId>
     <version>2.2</version>
     <configuration>
     <!--项目发布后的根目录-->
     <path>/</path>
     <!--项目用tomcat的服务端口-->
     <port>8080</port>
    </configuration>
   </plugin>
  </plugins>
 </build>

6.7 运行

idea 一直解析maven依赖_idea 一直解析maven依赖_16

idea 一直解析maven依赖_idea 一直解析maven依赖_17

idea 一直解析maven依赖_Web_18

如此就建立好一个Web项目,开始各式各样的骚操作吧!!!