【Maven】Maven的新建、使用、安装配置、集成配置到eclipse,Maven项目测试servlet,Maven容易出现的问题

本文涉及的产品
应用实时监控服务-用户体验监控,每月100OCU免费额度
应用实时监控服务-可观测链路OpenTelemetry版,每月50GB免费额度
可观测监控 Prometheus 版,每月50GB免费额度
简介: Maven是一个流行的构建工具和项目管理工具,它能够自动处理项目的编译、依赖管理和构建部署等任务。通过使用Maven,开发人员可以更轻松地管理和构建Java项目,而不必手动解决复杂的依赖关系。Maven是一个Java项目管理工具,它提供了一种结构化的方法来管理项目的构建、依赖、文档和发布等方面的工作。它基于项目对象模型(Project Object Model,POM)的概念,通过配置文件来定义项目的构建和行为。Maven将项目的构建过程自动化,并提供了许多插件和功能来简化开发人员的工作。



一、引言 --- maven的介绍

Maven是一个流行的构建工具和项目管理工具,它能够自动处理项目的编译、依赖管理和构建部署等任务。通过使用Maven,开发人员可以更轻松地管理和构建Java项目,而不必手动解决复杂的依赖关系。

1、什么是 Maven?

Maven是一个Java项目管理工具,它提供了一种结构化的方法来管理项目的构建、依赖、文档和发布等方面的工作。它基于项目对象模型(Project Object Model,POM)的概念,通过配置文件来定义项目的构建和行为。

Maven将项目的构建过程自动化,并提供了许多插件和功能来简化开发人员的工作。它具有以下特点:

    • 依赖管理:Maven可以自动下载和管理项目所需的第三方库和依赖。通过在项目配置文件(pom.xml)中定义依赖项,Maven可以从中央仓库或其他自定义仓库中获取所需的依赖项并自动解决它们的依赖关系。
    • 统一构建过程:Maven为项目提供了标准的构建生命周期和各种构建阶段(如编译、测试、打包、部署等)。开发人员只需执行简单的命令,Maven会按照预定义的顺序执行相应的构建过程。
    • 项目管理:Maven通过POM文件来管理项目信息和配置。POM文件是一个XML文件,描述了项目的基本信息、依赖关系、构建配置以及其他相关信息。通过维护单个POM文件,可以轻松管理整个项目及其模块。
    • 插件系统:Maven具有强大的插件系统,可以扩展其功能。插件可以用于执行各种任务,如代码检查、测试覆盖率、静态分析、部署等。它们可以通过简单的配置添加到项目中,以满足特定的需求。

    2、Maven的作用

    Maven的主要作用如下:

      1. 依赖管理:Maven能够自动解决和管理项目中的依赖关系,包括下载和更新所需的第三方库和依赖项。
      2. 项目构建:Maven提供了一套标准的构建生命周期和阶段,可以自动执行编译、测试、打包、部署等构建过程。
      3. 项目管理:Maven通过POM文件来管理项目的配置和信息,使得项目的组织和维护更加简单。
      4. 发布管理:Maven支持项目的版本控制和发布管理,可以方便地生成可部署的构建包,并将其部署到仓库或远程服务器上。

      3、如何使用 Maven?

      使用Maven可以遵循以下步骤:

        1. 安装和配置:在合适的环境中安装Maven,并设置相应的环境变量。安装指南可以在Maven官方网站上找到。
        2. 创建项目:使用Maven命令或集成开发环境(IDE)的插件创建一个新的Maven项目。项目结构和文件将根据Maven的约定进行创建。
        3. 编辑配置文件:编辑项目根目录下的pom.xml文件,设置项目的基本信息、依赖关系和构建配置。您可以定义所需的第三方依赖项、自定义插件和构建行为等。
        4. 执行构建命令:使用Maven命令运行常见的构建任务,如编译、测试、打包和部署。例如,您可以使用`mvn clean compile`命令来清理并编译项目。
        5. 管理依赖:通过在pom.xml文件中定义依赖项,让Maven自动下载和解析您的项目所需的外部依赖。
        6. 使用插件:根据项目需求,在pom.xml文件中添加适合的插件,并配置它们的行为。插件可以用于各种任务,如代码检查、测试、静态分析等。

        请注意,以上步骤是基本的概述,实际使用中可能会有更多的细节和配置选项。具体的使用方法可以参考Maven的官方文档和教程。

        4、在什么环境下使用 Maven?

        Maven可以在多种操作系统和开发环境下使用,包括WindowsLinuxmacOS等。您只需要根据您的操作系统选择适合的Maven安装包,并按照相应的安装和配置指南进行设置。

        当然,您还可以在不同的集成开发环境(IDE)中集成Maven,例如EclipseIntelliJ IDEANetBeans等。这些IDE通常都提供了对Maven的良好支持,可以方便地创建、构建和管理Maven项目。

        5、Maven的使用效果

        使用Maven可以带来多方面的效果和好处:

          1. 依赖管理:Maven可以自动下载和管理项目的依赖项,减少了手动处理依赖关系的工作,避免了版本冲突和依赖管理方面的问题。
          2. 项目标准化:Maven提供了一套标准的项目结构和构建生命周期,使得项目的组织和维护更加规范和一致。
          3. 构建自动化:Maven可以自动执行常见的构建任务,如编译、测试、打包和部署。这样可以减少手动操作的繁琐,并提高整体的开发效率。
          4. 项目管理:通过POM文件,可以轻松管理和维护项目的配置和信息。这样可以提高项目的可维护性和可扩展性。
          5. 跨团队合作和共享:Maven支持将构建结果部署到仓库中,其他开发人员可以方便地使用和共享这些构建包,促进团队合作和代码重用。

          总体而言,使用Maven可以提高项目的开发效率降低依赖管理的复杂性,并提供一致性的构建和部署过程。

          二、maven安装及配置

          1、下载解压安装

            1. 进入Maven官网进行一个版本的下载,根据自己的需求进行版本的下载。
            2. 下载好后进行解压安装到自己想要安装的位置
            3. 我这里已经是已经下载解压好的了image.gif编辑

            2、配置

            ①环境变量配置

              1. 进入自己安装的目录里面,进入bin文件夹这里,复制上面的路径,如图image.gif编辑
              2. 参考前面的jdk安装,基本是一样的;我进入电脑的高级系统设置 ===》环境变量 ===》系统变量进行配置。
              3. 新建一个变量;变量名:MAVEN_HOME 变量值:刚刚复制的路径image.gif编辑确认。
              4. 找到Path的变量image.gif编辑编辑,在变量值前面加上%MAVEN_HOME%\bin;image.gif编辑确认后就进行下一步,应用。
              5. 测试win+R  CMD进入命令窗口,输入mvn  -versionimage.gif编辑出现这样就说明成功了。
                我们复制Maven home的路径查看是不是正确的image.gif编辑win+R cmd 把复制的路径放进去看能不能访问到,如果能访问到就说明没有问题了。image.gif编辑

              ②Maven插件安装与配置

                1. 我们安装的同级的目录下新建一个mvn_repository的文件夹image.gif编辑
                2. 进入conf的文件夹里面,找到settings.xml的文件进去进行编辑,找到
                <localRepository>/path/to/local/repo</localRepository>
                1. image.gif在后面进行一个文件配置, 里面是你刚刚新建文件夹的路径


                  image.gif编辑
                2. 最后的配置,在这个文件里面找到
                <mirrors>
                <!-- mirror
                     | Specifies a repository mirror site to use instead of a given repository. The repository that
                     | this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used
                     | for inheritance and direct lookup purposes, and must be unique across the set of mirrors.
                     |
                    <mirror>
                      <id>mirrorId</id>
                      <mirrorOf>repositoryId</mirrorOf>
                      <name>Human Readable Name for this Mirror.</name>
                      <url>http://my.repository.com/repo/path</url>
                    </mirror>
                     -->
                </mirrors>
                1. image.gif在里面进行一个配置添加新的
                <mirrors>
                   <mirror>
                    <id>alimaven</id>
                    <name>aliyun maven</name>
                    <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
                    <mirrorOf>central</mirrorOf>        
                  </mirror>
                  <mirror>  
                    <id>alimaven</id>  
                    <mirrorOf>central</mirrorOf>  
                    <name>aliyun maven</name>  
                    <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>  
                  </mirror>ror>
                </mirrors>
                1. image.gif配置完成了。

                【ps】这里需要看一下容易出错的第一个问题

                三、集成配置eclipse

                进入eclipse配置好自己的编码和jsp编码是否是UTF-8,配置好自己的tomcat;如果不会我们看前面的eclipse配置tomcat

                  1. window ===》 Preferencesimage.gif编辑
                  2. 搜索Validation ===》 选择JSON 里面的Validation ===》Disable ===》如图进行一个操作image.gif编辑
                  3. 继续搜索maven ===》选择Installations ===》Addimage.gif编辑
                  4. 我们选中bin目录的上一级目录image.gif编辑
                  5. Finish ===》勾选刚刚配置的 ===》Apply应用 ===》选中User Settingsimage.gif编辑
                  6. 根据以下图配置好后,点击Apply and Closeimage.gif编辑

                  这样我们的Maven就配置好了。

                  四、新建 Maven项目及细节配置

                  1、Maven项目的建立

                    1. 我们在eclipse里面Ctrl+N 新建一个Maven项目image.gif编辑
                    2. 选择Catalog 选择本地的Internal ===》下拉选择.....webapp ===》Nextimage.gif编辑
                    3. 输入我们的组名、项目名,最后Finishimage.gif编辑
                    4. 我们新建之后会进行一个文件的下载,下载的文件在我们配置的mvn_repository文件夹里面image.gif编辑image.gif编辑
                    5. 选中项目 右键image.gif编辑

                    我们的项目就建立完成了

                    2、分析项目结构image.gif编辑

                    3、项目的测试及细节的布置(pom.xml配置)

                    ①我们新建一个测试的servlet类,继承的HttpServlet会进行报错,怎么解决呢?

                    我就需要进入我们的MVN进行一个查找

                    image.gif编辑

                    我们就开始配置一下我们的junitjspMySQL,我这里就演示jsp的,其他的都是一样的方式

                    image.gif编辑

                    找到我们的pom.xml文件进行配置

                    image.gif编辑

                    我这里就放代码

                    <dependencies>
                      <dependency>
                        <groupId>junit</groupId>
                        <artifactId>junit</artifactId>
                        <version>4.12</version>
                        <scope>test</scope>
                      </dependency>
                      <dependency>
                        <groupId>mysql</groupId>
                        <artifactId>mysql-connector-java</artifactId>
                        <version>5.1.44</version>
                      </dependency>
                      <dependency>
                        <groupId>javax.servlet</groupId>
                        <artifactId>javax.servlet-api</artifactId>
                        <version>4.0.1</version>
                        <scope>provided</scope>
                      </dependency>
                    </dependencies>
                    image.gif

                    这是我的代码,可以进行一个确认image.gif编辑

                    【ps】这里看一下容易出错的第二个问题

                    ②Maven项目进行servlet测试

                    测试之前我们要把web.xml的头部进行修改由2.3至3.1,【ps记得要有头有尾,结尾记得加上</web-app>

                    image.gif编辑

                    index.jsp也进行删除重新创建

                    image.gif编辑

                    【ps】 在这里会出现问题,请看后面第三点的问题解决

                    servlet的编写

                    package com.gq.web;
                    import java.io.IOException;
                    import javax.servlet.ServletException;
                    import javax.servlet.annotation.WebServlet;
                    import javax.servlet.http.HttpServlet;
                    import javax.servlet.http.HttpServletRequest;
                    import javax.servlet.http.HttpServletResponse;
                    /**
                     * 测试Servlet
                     */
                    @WebServlet("/hello")
                    public class TestServlet extends HttpServlet {
                      protected void doGet(HttpServletRequest request, HttpServletResponse response)
                          throws ServletException, IOException {
                        doPost(request, response);
                      }
                      protected void doPost(HttpServletRequest request, HttpServletResponse response)
                          throws ServletException, IOException {
                        System.out.println("你好啊!doPost");
                        request.getRequestDispatcher("/index.jsp").forward(request, response);
                      }
                    }
                    image.gif

                    右键Debug As 如图运行测试image.gif编辑

                    最后运行出来的结果是这样的就完成了。image.gif编辑

                    五、新建Maven项目时会出现错误的问题

                    1、配置阿里云下载路径问题

                    在这里如果出现了特殊的下载路径

                    repo.maven.....
                    image.gif

                    的问题,不是阿里云的,大概会出现问题,所以我们在配置的时候要注意image.gif编辑我们要去我们的sttings.xml文件里面重新进行配置

                    2、pom.xml文件配置的时候会出现的问题,这会影响后面编写代码的问题,所以我们要在这里先进行一个测试,以防止后面一系列的问题。

                      1. 所以我们选择我们pom.xml文件,右键 ===》Run As ===》Maven test 运行测试image.gif编辑如果运行没出现问题就没什么问题也就是出现了BUILD SUCCESS这是检查你版本有没有问题的一个方法image.gif编辑出现了问题这里也有解决方法。
                        1. 不动脑子的
                                 找到你建的mvn_repository文件夹,进去把你的所有文件全部删除
                        2. 动脑子的
                                 如果出现问题肯定是你的配置文件没有下载完,进入mvn_repository文件夹找到你对应的配置文件进行删除重新配置下载即可

                          3、最后测试出现的没有刷新容易出现的问题

                          如果要用自己的自定义mvc框架,这一步特别重要

                          测试的时候,就是在测试servlet的时候,我们没有进行刷新,所以没看出来问题,如果这个问题没解决也会影响到代码的编写和运行。

                          右键 ===》Maven ===》Update Project... 进行一个刷新

                          image.gif编辑刷新之后我们就可以看到我们的项目进行了一个报错image.gif编辑我们右键,按以下步骤进行image.gif编辑我再进行一个选中image.gif编辑我们项目报错的这个是什么意思呢?我们可以在这里进行一个查看image.gif编辑怎么解决呢?我们要在pom.xml里面进行配置maven-compiler-plugin插件

                          <plugins>
                                <plugin>
                                  <groupId>org.apache.maven.plugins</groupId>
                                  <artifactId>maven-compiler-plugin</artifactId>
                                  <version>3.7.0</version>
                                  <configuration>
                                    <source>1.8</source>
                                    <target>1.8</target>
                                    <encoding>UTF-8</encoding>
                                  </configuration>
                                </plugin>
                              </plugins>
                          image.gif

                          image.gif编辑下载完后进行一个刷新image.gif编辑我们的项目就没有报错了image.gif编辑

                          分享就到这里!!!

                          相关文章
                          |
                          2月前
                          |
                          XML Java 测试技术
                          从零开始学 Maven:简化 Java 项目的构建与管理
                          Maven 是一个由 Apache 软件基金会开发的项目管理和构建自动化工具。它主要用在 Java 项目中,但也可以用于其他类型的项目。
                          62 1
                          从零开始学 Maven:简化 Java 项目的构建与管理
                          |
                          2月前
                          |
                          Java Maven
                          maven项目的pom.xml文件常用标签使用介绍
                          第四届人文,智慧教育与服务管理国际学术会议(HWESM 2025) 2025 4th International Conference on Humanities, Wisdom Education and Service Management
                          184 8
                          |
                          2月前
                          |
                          Java 应用服务中间件 Maven
                          Maven的三种项目打包方式——pom,jar,war的区别
                          Maven 提供了多种打包方式,分别适用于不同类型的项目。pom 用于父项目或聚合项目,便于项目的结构和依赖管理;jar 用于Java类库或可执行的Java应用程序;war 则专用于Java Web应用程序的部署。理解这些打包方式的用途和特点,可以帮助开发者更好地配置和管理Maven项目,确保构建和部署过程的顺利进行。无论是单模块项目还是多模块项目,选择合适的打包方式对于项目的成功至关重要。
                          166 3
                          |
                          3月前
                          |
                          Java 关系型数据库 MySQL
                          Maven——创建 Spring Boot项目
                          Maven 是一个项目管理工具,通过配置 `pom.xml` 文件自动获取所需的 jar 包,简化了项目的构建和管理过程。其核心功能包括项目构建和依赖管理,支持创建、编译、测试、打包和发布项目。Maven 仓库分为本地仓库和远程仓库,远程仓库包括中央仓库、私服和其他公共库。此外,文档还介绍了如何创建第一个 SpringBoot 项目并实现简单的 HTTP 请求响应。
                          227 1
                          Maven——创建 Spring Boot项目
                          |
                          3月前
                          |
                          Java 关系型数据库 MySQL
                          如何使用 maven 创建一个 Spring Boot项目
                          Maven 是一个强大的项目管理工具,通过配置 `pom.xml` 文件自动获取所需的 jar 包,提高开发效率。其核心功能包括项目构建和依赖管理。项目构建支持编译、测试、打包和发布等流程,而依赖管理则通过中央仓库、本地仓库和私有服务器获取和管理项目依赖。示例中展示了如何创建第一个 SpringBoot 项目并实现简单接口。
                          62 1
                          如何使用 maven 创建一个 Spring Boot项目
                          |
                          3月前
                          |
                          Java Maven Android开发
                          eclipse创建maven项目
                          本文介绍了在Eclipse中创建Maven项目的步骤,包括打开Eclipse、选择Java项目、完成项目创建以及自动下载插件的过程。
                          124 2
                          eclipse创建maven项目
                          |
                          3月前
                          |
                          缓存 IDE Java
                          idea的maven项目打包时没有source下的文件
                          【10月更文挑战第21天】idea的maven项目打包时没有source下的文件
                          138 1
                          |
                          3月前
                          |
                          Java API Apache
                          除了 Maven,还有哪些工具可以管理项目的依赖和版本冲突
                          除了Maven,常用的项目依赖管理和版本冲突解决工具有Gradle、Ivy、Ant+Ivy、SBT等。这些工具各有特点,适用于不同的开发环境和需求。
                          209 2
                          |
                          3月前
                          |
                          Java 应用服务中间件 Maven
                          【终极解决方案】IDEA maven 项目修改代码不生效。
                          【终极解决方案】IDEA maven 项目修改代码不生效。
                          527 1
                          |
                          3月前
                          |
                          Java 应用服务中间件 Maven
                          SpringBoot Maven 项目打包的艺术--主清单属性缺失与NoClassDefFoundError的优雅解决方案
                          SpringBoot Maven 项目打包的艺术--主清单属性缺失与NoClassDefFoundError的优雅解决方案
                          379 0

                          推荐镜像

                          更多