一、引言 --- 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的主要作用如下:
- 依赖管理:Maven能够自动解决和管理项目中的依赖关系,包括下载和更新所需的第三方库和依赖项。
- 项目构建:Maven提供了一套标准的构建生命周期和阶段,可以自动执行编译、测试、打包、部署等构建过程。
- 项目管理:Maven通过POM文件来管理项目的配置和信息,使得项目的组织和维护更加简单。
- 发布管理:Maven支持项目的版本控制和发布管理,可以方便地生成可部署的构建包,并将其部署到仓库或远程服务器上。
3、如何使用 Maven?
使用Maven可以遵循以下步骤:
- 安装和配置:在合适的环境中安装Maven,并设置相应的环境变量。安装指南可以在Maven官方网站上找到。
- 创建项目:使用Maven命令或集成开发环境(IDE)的插件创建一个新的Maven项目。项目结构和文件将根据Maven的约定进行创建。
- 编辑配置文件:编辑项目根目录下的pom.xml文件,设置项目的基本信息、依赖关系和构建配置。您可以定义所需的第三方依赖项、自定义插件和构建行为等。
- 执行构建命令:使用Maven命令运行常见的构建任务,如编译、测试、打包和部署。例如,您可以使用`mvn clean compile`命令来清理并编译项目。
- 管理依赖:通过在pom.xml文件中定义依赖项,让Maven自动下载和解析您的项目所需的外部依赖。
- 使用插件:根据项目需求,在pom.xml文件中添加适合的插件,并配置它们的行为。插件可以用于各种任务,如代码检查、测试、静态分析等。
请注意,以上步骤是基本的概述,实际使用中可能会有更多的细节和配置选项。具体的使用方法可以参考Maven的官方文档和教程。
4、在什么环境下使用 Maven?
Maven可以在多种操作系统和开发环境下使用,包括Windows、Linux和macOS等。您只需要根据您的操作系统选择适合的Maven安装包,并按照相应的安装和配置指南进行设置。
当然,您还可以在不同的集成开发环境(IDE)中集成Maven,例如Eclipse、IntelliJ IDEA和NetBeans等。这些IDE通常都提供了对Maven的良好支持,可以方便地创建、构建和管理Maven项目。
5、Maven的使用效果
使用Maven可以带来多方面的效果和好处:
- 依赖管理:Maven可以自动下载和管理项目的依赖项,减少了手动处理依赖关系的工作,避免了版本冲突和依赖管理方面的问题。
- 项目标准化:Maven提供了一套标准的项目结构和构建生命周期,使得项目的组织和维护更加规范和一致。
- 构建自动化:Maven可以自动执行常见的构建任务,如编译、测试、打包和部署。这样可以减少手动操作的繁琐,并提高整体的开发效率。
- 项目管理:通过POM文件,可以轻松管理和维护项目的配置和信息。这样可以提高项目的可维护性和可扩展性。
- 跨团队合作和共享:Maven支持将构建结果部署到仓库中,其他开发人员可以方便地使用和共享这些构建包,促进团队合作和代码重用。
总体而言,使用Maven可以提高项目的开发效率、降低依赖管理的复杂性,并提供一致性的构建和部署过程。
二、maven安装及配置
1、下载解压安装
- 进入Maven官网进行一个版本的下载,根据自己的需求进行版本的下载。
- 下载好后进行解压安装到自己想要安装的位置
- 我这里已经是已经下载解压好的了编辑
2、配置
①环境变量配置
- 进入自己安装的目录里面,进入bin的文件夹这里,复制上面的路径,如图编辑
- 参考前面的jdk安装,基本是一样的;我进入电脑的高级系统设置 ===》环境变量 ===》系统变量进行配置。
- 新建一个变量;变量名:MAVEN_HOME 变量值:刚刚复制的路径编辑确认。
- 找到Path的变量编辑编辑,在变量值前面加上%MAVEN_HOME%\bin;编辑确认后就进行下一步,应用。
- 测试,win+R CMD进入命令窗口,输入mvn -version编辑出现这样就说明成功了。
我们复制Maven home的路径查看是不是正确的编辑win+R cmd 把复制的路径放进去看能不能访问到,如果能访问到就说明没有问题了。编辑
②Maven插件安装与配置
- 我们安装的同级的目录下新建一个mvn_repository的文件夹编辑
- 进入conf的文件夹里面,找到settings.xml的文件进去进行编辑,找到
<localRepository>/path/to/local/repo</localRepository>
- 在后面进行一个文件配置, 里面是你刚刚新建文件夹的路径。
编辑 - 最后的配置,在这个文件里面找到
<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>
- 在里面进行一个配置添加新的
<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>
- 配置完成了。
【ps】这里需要看一下容易出错的第一个问题
三、集成配置eclipse
进入eclipse配置好自己的编码和jsp编码是否是UTF-8,配置好自己的tomcat;如果不会我们看前面的eclipse配置tomcat
- window ===》 Preferences编辑
- 搜索Validation ===》 选择JSON 里面的Validation ===》Disable ===》如图进行一个操作编辑
- 继续搜索maven ===》选择Installations ===》Add编辑
- 我们选中bin目录的上一级目录编辑
- Finish ===》勾选刚刚配置的 ===》Apply应用 ===》选中User Settings编辑
- 根据以下图配置好后,点击Apply and Close编辑
这样我们的Maven就配置好了。
四、新建 Maven项目及细节配置
1、Maven项目的建立
- 我们在eclipse里面Ctrl+N 新建一个Maven项目编辑
- 选择Catalog 选择本地的Internal ===》下拉选择.....webapp ===》Next编辑
- 输入我们的组名、项目名,最后Finish编辑
- 我们新建之后会进行一个文件的下载,下载的文件在我们配置的mvn_repository文件夹里面编辑编辑
- 选中项目 右键编辑
我们的项目就建立完成了
2、分析项目结构编辑
3、项目的测试及细节的布置(pom.xml配置)
①我们新建一个测试的servlet类,继承的HttpServlet会进行报错,怎么解决呢?
我就需要进入我们的MVN进行一个查找
编辑
我们就开始配置一下我们的junit、jsp、MySQL,我这里就演示jsp的,其他的都是一样的方式
编辑
找到我们的pom.xml文件进行配置
编辑
我这里就放代码
<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>
这是我的代码,可以进行一个确认编辑
【ps】这里看一下容易出错的第二个问题
②Maven项目进行servlet测试
测试之前我们要把web.xml的头部进行修改由2.3至3.1,【ps】记得要有头有尾,结尾记得加上</web-app>
编辑
index.jsp也进行删除重新创建
编辑
【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); } }
右键Debug As 如图运行测试编辑
最后运行出来的结果是这样的就完成了。编辑
五、新建Maven项目时会出现错误的问题
1、配置阿里云下载路径问题
在这里如果出现了特殊的下载路径
repo.maven.....
的问题,不是阿里云的,大概会出现问题,所以我们在配置的时候要注意编辑我们要去我们的sttings.xml文件里面重新进行配置
2、pom.xml文件配置的时候会出现的问题,这会影响后面编写代码的问题,所以我们要在这里先进行一个测试,以防止后面一系列的问题。
- 所以我们选择我们pom.xml文件,右键 ===》Run As ===》Maven test 运行测试编辑如果运行没出现问题就没什么问题也就是出现了BUILD SUCCESS,这是检查你版本有没有问题的一个方法编辑出现了问题这里也有解决方法。
- 不动脑子的
找到你建的mvn_repository文件夹,进去把你的所有文件全部删除- 动脑子的
如果出现问题肯定是你的配置文件没有下载完,进入mvn_repository文件夹找到你对应的配置文件进行删除,重新配置下载即可
3、最后测试出现的没有刷新容易出现的问题
如果要用自己的自定义mvc框架,这一步特别重要
测试的时候,就是在测试servlet的时候,我们没有进行刷新,所以没看出来问题,如果这个问题没解决也会影响到代码的编写和运行。
右键 ===》Maven ===》Update Project... 进行一个刷新
编辑刷新之后我们就可以看到我们的项目进行了一个报错编辑我们右键,按以下步骤进行编辑我再进行一个选中编辑我们项目报错的这个是什么意思呢?我们可以在这里进行一个查看编辑怎么解决呢?我们要在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>
编辑下载完后进行一个刷新编辑我们的项目就没有报错了编辑
分享就到这里!!!