教育后台管理系统:Maven 项目管理工具

1 Maven介绍

1.1 什么是Maven

  Maven是一个跨平台的项目管理工具。作为Apache组织的一个颇为成功的开源项目,其主要服务于基于Java平台的项目创建,

       依赖管理和项目信息管理。maven是Apache的顶级项目,解释为“专家,内行”,它是一个项目管理的工具,maven自身是纯java开发的,可以使用maven对java项目进行构建、依赖管理。

 

1.2 Maven的作用

  <1>  依赖管理

      1.  依赖指的就是,我们项目中需要使用的第三方Jar包, 一个大一点的工程,往往需要几十上百个Jar包,

           按照我们之前的方式,每使用一种Jar,就需要导入到工程中,还要解决各种Jar冲突的问题.

      2.   Maven可以对Jar包进行统一的管理,包括快速引入Jar包,以及对使用的 Jar包进行统一的版本控制

 

  <2>  一键构建项目

      1.  之前我们创建项目,需要确定项目的目录结构,比如:

          src 存放Java源码,

          resources存放配置文件,

          还要配置环境比如JDK的版本等等,

          如果有多个项目 那么就需要每次自己搞一套配置,十分麻烦

      2.    Maven为我们提供了一个标准化的Java项目结构,我们可以通过Maven快速创建一个标准的Java项目.

 

2 Maven 的使用

2.1 Maven软件的下载

  使用 Maven 管理工具,我们首先要到官网去下载它的安装软件

  http://maven.apache.org/download.cgi

  

 

  

  目前最新版是 apache-maven-3.6.3 版本,在我们的软件文件夹中已经下载好了.

   

 

 

 

 

  

2.2 Maven软件的安装

Maven 下载后,将 Maven 解压到一个没有中文没有空格的路径下,比如:H:\software\maven 下面。 解压后目录结构如下:

 

  1. bin:存放了 maven 的命令

  2. boot:存放了一些 maven 本身的引导程序,如类加载器等

  3. conf:存放了 maven 的一些配置文件,如 setting.xml 文件

  4. lib:存放了 maven 本身运行所需的一些 jar 包

 

2.3 Maven环境变量配置

  1. 配置 MAVEN_HOME ,变量值就是你的 maven 安装的路径(bin 目录之前一级目录)

    

  1. 将MAVEN_HOME 添加到Path系统变量

               

 

 

2.4 Maven 软件版本测试

    通过 mvn -v命令:检查 maven 是否安装成功,看到 maven 的版本为 3.6.3 及 java 版本为 jdk-11 即为安装 成功。

    打开命令行,输入 mvn –v命令,如下图:

      

 

 

 

3 Maven 仓库

  Maven中的仓库:是用来存放maven构建的项目 & 各种依赖的(Jar包)

 

3.1 Maven的仓库分类

  本地仓库: 位于自己计算机中的仓库, 用来存储从远程仓库 / 中央仓库下载的插件和 jar 包

  远程仓库: 需要联网才可以使用的仓库,阿里提供了一个免费的maven 远程仓库

  中央仓库: 在 maven 软件中内置一个远程仓库地址 http://repo1.maven.org/maven2 ,它是中央仓库,服务于整个互联网,

        它是由 Maven 团队自己维护,里面存储了非常全的 jar 包,它包含了世界上大部分流行的开源项目构件

 

       

 

 

 

3.2 Maven 本地仓库的配置

  1. maven仓库默认是在 C盘 .m2 目录下,我们不要将仓库放在C盘,所以这里同学们要重新配置一下.

  2. 为了方便同学们的使用,老师为大家提供了一个本地仓库,将 “repository.rar”解压至自己的 电脑上,我解压在 H:\software\repository 目录下(注意最好放在没有中文及空格的目录下)

    

 

 

   3.  在maven安装目录中,进入 conf文件夹, 可以看到一个 settings.xml 文件中, 我们在这个文件中, 进行本地仓库的配置

    

 

 

 

  4.   打开 settings.xml文件,进行如下配置如下:

    

 

 

 

3.3 配置阿里云远程仓库

  Maven默认的远程仓库是在国外, 所以下载jar包时速度会非常慢, 这里推荐大家使用我大天朝的阿里云仓库

  打开 settings.xml,找到 <mirrors> 标签 , 下面的内容复制到 <mirrors> 中 即可

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

 

创建Maven项目

4.1 IDEA中配置Maven

  <1>  打开IDEA, 创建一个新的project

                      

 

 

  <2>  起名为web_work

        

 

 

 

  <3>  打开IDEA,选择File --> Settings --> 搜素maven,就会看到如下界面

              

 

 

 

   <4> 修改默认配置配置

      

 

 

4.2 创建Maven工程

  在IDEA中配置好maven后, 接下来我们使用maven, 去快速的去构建一个 JavaWeb项目

  <1>  project创建好以后, 选择创建module

            

 

 

  <2>  选中创建一个 maven 工程

                 

 

 

 

  <3>  点击 Next,填写项目信息

        

 

 

               进行一下修改

      

 

 

   <4>  创建好的工程,长这个样子

                  

 

                   Maven目录说明:

src/main/java          —— 存放项目的.java 文件 
src/main/resources      —— 存放项目资源文件,如数据库的配置文件 
src/test/java         —— 存放所有单元测试.java 文件,如 JUnit 测试类 
target                 —— 项目输出位置,编译后的class 文件会输出到此目录 
pom.xml              ——maven 项目核心配置文件 

 

 

4.3 Maven工程改造

  当前创建的maven项目是一个 普通的Java项目,不是web项目,我们要进行一下改造

  1.   在main目录下创建一个webapp文件夹

             

 

 

  

  1.        选择 project Structure ---> facets---> 点击+号 添加web ---> 选择当前工程hello_maven

     

 

 

  3.  修改路径信息

      修改前

        

 

 

   4.   修改为 我们的 webapp目录 

             修改后

         

 

 

  5.  点击ok 后,项目就变为了web项目, 在webapp目录下再创建一个 index.jsp,就OK了

         

 

 

 

4.4 pom核心配置文件

一个 maven 工程都有一个 pom.xml 文件,通过 pom.xml 文件定义项目的信息、项目依赖、引入插件等等。

  1. 创建一个Servlet, 缺少jar包报错, 要解决问题,就是要将 servlet-api-xxx.jar 包放进来,作为 maven 工程应当添加 servlet的坐标,从而导入它的 jar

                 

 

 

   

  1. 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">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.lagou</groupId>
    <artifactId>hello_maven</artifactId>
    <version>1.0-SNAPSHOT</version>

    <dependencies>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>3.1.0</version>
        </dependency>
    </dependencies>

</project>

 

 3.  一个Maven工程就是由groupIdartifactIdversion 作为唯一标识, 我们在引用其他第三方库的时候,也是通过这3个变量确定

    a. 坐标的概念

      <1>  在maven中坐标就是为了定位一个唯一确定的jar包

      <2>  maven世界拥有大量构建,我们需要找一个用来唯一标识一个构建的统一规范,拥有了统一规范,就可以把查找工作交给机器

 

    b. Maven坐标主要组成(GAV) - 确定一个jar在互联网位置

标签含义
groupId 定义当前Maven组织名称,通常是公司名
artifactId 定义实际项目名称
version 定义当前项目的当前版本
packaging

打包类型

jar:执行 package 会打成 jar 包

war:执行 package 会打成 war 包

dependency 使用 <dependency>声明一个依赖后,Maven就会自动下载这个依赖包

 

4.  maven 的依赖管理, 是对项目所依赖的 jar 包进行统一管理

标签含义
dependencies 表示依赖关系
dependency 使用 <dependency>声明一个依赖后,Maven就会自动下载这个依赖包
<dependencies>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>3.1.0</version>
    </dependency>
</dependencies>    

 

5.  坐标的来源方式

  添加依赖,需要指定依赖 jar 包的坐标,但是很多情况,我们是不知道 jar 包的的坐标,可以通过如下方式查询: 从网站中搜索即可

 

5.1) 输入网址,进入网址 , 进行查询

https://mvnrepository.com/

 

 

5.2) 点击进入后,可以看到各个版本的信息,选择3.1.0

 

 

4.5 添加插件

  1. 添加编译插件, 设置 jdk 编译版本

    本教程使用 jdk11,需要设置编译版本为 11,这里需要使用 maven 的插件来设置

    在pom中加入如下配置:

<!-- properties 是全局设置,可以设置整个maven项目的编译器 JDK版本 -->
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <!-- 重点  -->
        <maven.compiler.source>11</maven.compiler.source>
        <maven.compiler.target>11</maven.compiler.target>
    </properties>

    <!-- 在build中 我们需要指定一下项目的JDK编译版本,maven默认使用1.5版本进行编译
    注意 build 与 dependencies是平级关系,标签不要写错位置  -->
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <release>11</release>
                </configuration>
            </plugin>
        </plugins>
    </build>

 

4.6 运行Maven项目

  1. 完善项目代码

      ServletDemo01

@WebServlet("/demo01")
public class ServletDemo01 extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

        System.out.println("hello maven!!!!");
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doGet(req, resp);
}
}

      index.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
    <h1>这是我的第一个maven工程!</h1>
</body>
</html>

 

    2. 配置tomcat ,部署项目

 

 

 

 

  3.  运行项目, 默认访问 index.jsp

 

    

 

  1. 访问Servlet

http://localhost:8080/hello_maven/demo01

 

posted @ 2021-10-23 16:39  Jasper2003  阅读(160)  评论(0编辑  收藏  举报