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

本文涉及的产品
性能测试 PTS,5000VUM额度
注册配置 MSE Nacos/ZooKeeper,118元/月
可观测可视化 Grafana 版,10个用户账号 1个月
简介: 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编辑

                          分享就到这里!!!

                          相关文章
                          |
                          1月前
                          |
                          敏捷开发 jenkins Devops
                          探索软件测试的新篇章:自动化与持续集成的融合之道
                          【9月更文挑战第31天】 在软件开发的海洋中,测试是确保航船稳健前行的灯塔。本文将引领读者驶入软件测试的新纪元,探索自动化测试和持续集成如何携手共创高效、可靠的开发流程。我们将从基础概念出发,逐步深入到实际操作层面,揭示这一现代软件开发模式的核心价值和实现路径。你将看到,通过代码示例和实践案例,如何将理论转化为提升软件质量的具体行动。
                          |
                          20天前
                          |
                          缓存 Devops jenkins
                          专家视角:构建可维护的测试架构与持续集成
                          【10月更文挑战第14天】在现代软件开发过程中,构建一个可维护且易于扩展的测试架构对于确保产品质量至关重要。本文将探讨如何设计这样的测试架构,并将单元测试无缝地融入持续集成(CI)流程之中。我们将讨论最佳实践、自动化测试部署、性能优化技巧以及如何管理和扩展日益增长的测试套件规模。
                          40 3
                          |
                          9天前
                          |
                          监控 jenkins 测试技术
                          探索软件测试的新篇章:自动化与持续集成
                          【10月更文挑战第25天】在数字化时代的浪潮中,软件已成为驱动世界的核心力量。然而,随着软件复杂性的增加,传统的测试方法已无法满足快速迭代和高质量交付的需求。本文将探讨如何通过自动化测试和持续集成(CI)来提升软件开发的效率和质量,同时确保产品的稳定性和可靠性。我们将从自动化测试的基础出发,逐步深入到持续集成的实践,并展示如何通过实际案例实现这一转变。
                          |
                          9天前
                          |
                          jenkins 测试技术 持续交付
                          探索软件测试中的自动化与持续集成
                          【10月更文挑战第25天】在软件开发的海洋中,自动化测试和持续集成(CI)是引领航船穿越波涛的灯塔。本文将带你了解如何通过搭建自动化测试框架和实施持续集成策略来提高软件质量和开发效率。我们将以一个实际的代码示例为起点,逐步深入讲解如何整合自动化测试到你的CI/CD流程中。
                          |
                          9天前
                          |
                          jenkins 测试技术 持续交付
                          探索软件测试的新篇章:自动化与持续集成的融合
                          【10月更文挑战第25天】在软件开发的世界里,质量是王道。本文将带你领略如何通过自动化测试和持续集成(CI)的结合,提升软件交付的速度与质量,确保每一次代码提交都是一次胜利的宣言。
                          |
                          1月前
                          |
                          Java Maven Android开发
                          eclipse创建maven项目
                          本文介绍了在Eclipse中创建Maven项目的步骤,包括打开Eclipse、选择Java项目、完成项目创建以及自动下载插件的过程。
                          75 2
                          eclipse创建maven项目
                          |
                          12天前
                          |
                          Kubernetes 测试技术 持续交付
                          C# 一分钟浅谈:集成测试与系统测试
                          【10月更文挑战第19天】本文详细介绍了集成测试和系统测试的概念、目的及其在软件开发中的重要性。通过分析常见问题和易错点,结合代码示例,探讨了如何通过代码规范、自动化测试和持续集成等方法提高测试效果,确保软件质量和可靠性。
                          31 1
                          |
                          1月前
                          |
                          测试技术
                          软件质量保护与测试(第2版)学习总结第十三章 集成测试
                          本文是《软件质量保护与测试》(第2版)第十三章的学习总结,介绍了集成测试的概念、主要任务、测试层次与原则,以及集成测试的不同策略,包括非渐增式集成和渐增式集成(自顶向下和自底向上),并通过图示详细解释了集成测试的过程。
                          52 1
                          软件质量保护与测试(第2版)学习总结第十三章 集成测试
                          |
                          1月前
                          |
                          Java Maven
                          Maven 项目测试
                          接下来我们要学习如何构建和测试这个项目。
                          40 5
                          |
                          2月前
                          |
                          Devops jenkins 测试技术
                          DevOps实践:持续集成与自动化测试的融合之道
                          【9月更文挑战第29天】在软件开发的快节奏竞赛中,DevOps如同一位智慧的舵手,引领着船只驶向效率与质量的彼岸。本文将揭开DevOps的神秘面纱,探索其核心理念如何通过持续集成(CI)和自动化测试的实践,实现软件开发流程的优化与加速。我们将一同见证代码从构思到部署的旅程,以及这一过程中的关键技术和工具如何协同工作,确保软件质量和交付速度的双重提升。

                          推荐镜像

                          更多