Apache Maven:从构建到部署,一站式解决方案

简介: Apache Maven:从构建到部署,一站式解决方案

一、Maven介绍

1. Maven是什么?

       Maven是一个用于构建和管理Java项目的开源工具。它提供了一种标准化的项目结构、构建过程和依赖管理机制,使得开发人员能够更轻松地构建、测试和部署Java应用程序。

2.Maven的作用?

       传统工程我们直按把jar包放置在项目中,在真的项目开发中我们需要用到许多jar包,我们还需要把jar下载到本地然后放置在项目里,显然这样是很不方便的。而Maven工程把jar包放置在仓库中,项目中只用放置jar包的坐标(路径)。而用了 Maven 之后,需要什么包,直接在 pom.xml 中添加几行 xml 代码(添加所依赖jar包的坐标),指定包名、版本等,Maven就会自动从仓库里下载jar包。

pom.xml 解释:

Maven使用POM(项目对象模型)文件来描述项目的结构、依赖关系和构建配置。POM是一个XML文件,其中包含了项目的元数据、构建配置、依赖项和插件等信息。

二、Maven仓库介绍

        Maven库是指存储和管理Java项目依赖的仓库。它是Maven构建工具的核心组成部分,用于管理项目的依赖关系和版本控制。

2.1 库的分类

Maven库分为两种类型:本地库和远程库。

  1. 本地库:本地库是存储在本地计算机上的Maven仓库。当你第一次构建一个项目时,Maven会自动下载所需的依赖并将其保存在本地库中。之后,当你构建其他项目时,Maven会检查本地库中是否已经存在所需的依赖,如果存在则直接使用,避免重复下载。
  2. 远程库:远程库是存储在远程服务器上的Maven仓库。远程库又分为三种:
  1. 中央仓库:架设在Internet上,它是一个公共的、全球性的仓库,包含了大量的开源Java项目的依赖。
  2. 私服:一般用于公司,架设在当前局域网环境下,为当前局域网范围内的所有Maven工程服务。
  3. 中央仓库的镜像:架设在各个大洲,为中央仓库分担流量。减轻中央仓库的压力,同时更快响应用户请求。

使用Maven库的好处包括:

  • 管理依赖:Maven库提供了一个集中管理项目依赖的方式,简化了项目配置和构建过程。
  • 版本控制:Maven库可以确保项目使用的依赖版本一致,避免了版本冲突和兼容性问题。
  • 自动下载:Maven库可以自动下载项目所需的依赖,减少了手动下载和配置的工作量。
  • 缓存机制:Maven库会缓存已下载的依赖,提高了构建的速度和效率。

       总之,Maven库是一个重要的工具,可以帮助开发人员更方便地管理和使用项目的依赖,提高开发效率和代码质量。

三、Maven安装与配置

3.1 Maven安装

👉 点击进入 Maven官网下载Maven安装包

下载后得到的压缩包:

3.2 Maven环境配置

1. 解压Maven压缩包 --> 赋值有bin目录的路径

2. 进入电脑设置里的高级系统设置 --> 点击环境变量

3. 新建一个系统变量 将Maven路径粘贴上去

4. 配置环境变量 path

5. 打开cmd输入 mvc -version 进行测试如图下就是配置成功了

3.3 仓库配置

1. 配置本地仓库,新建一个文件作为仓库并复制其路径

2. 打开Maven文件下的conf文件夹下的settings.xm文件,找到localrepository(复制一个新的)将之前建的仓库路径放进去

3. 如果考虑到性能的话可以修改它的镜像换成阿里云镜像

<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>

四、Eclipse与Maven配置

1. 进入Eclipse进入Preferences --> maven --> installation --> add

确定后要选择 Apache-maven-3.5.0

2. 设置当前电脑配置Maven 点击User settings: Browse... 更换之前配置的conf下的settings.xml文件

       最后就配置完成了,将来你要下载的jar包就会保存到之前创建配置好的文件夹里了(mvn_repository)

五、Maven项目测试

5.1 新建Maven项目步骤及注意事项

1. 在Eclipse里面新建一个Maven项目 Catalog选择Internal本地 --> 下面选择最后一个webapp

2. Group Id: 设置自己的用户id; Artifact Id:编写项目名称

3. 刚新建的Maven项目要下载各种工具,请耐心等待它下载完...

注意: 期间不要退出或关闭网络可能会下载失败,需要把本地仓库清空,重新配置下载。

5.2 解析Maven项目的目录结构

       新建的Maven文件的目录结构不全需要点击项目 --> Build Path --> Source 取消Allow的选项就可以展示项目完整目录结构了

5.3 Maven 依赖配置

1. 去中央库里找到 JSP API 资源

2. 点击进入2.0版本,复制 Maven JSP 依赖内容

3. 将所需要的依赖配置到 pom.xml 文件中,在其中你可修改依赖的版本保存就可以直接下载,下载好后就可以再本地仓库查看jar包了。是不是很方便😂

4. 修改web.xml配置,项目里面是2.多版本的我用的是3.1因此需要修改它的头部版本信息

<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"

        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

        xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"

        version="3.1">

5.4 测试pom.xml是否能通过编译

在pom.xml界面运行Maven test

        如果出现这个就是配置成功了,如果不是你就将本地仓库的文件和配置全删了重配,要么你知道是配置的哪个才出了问题,删了出问题的那个依赖就行了.

5.5 项目JDK与WEB版本修改

1. 右击项目 --> Preferences -->Project Facets 先把web和java选项取消再修改版本,修改后点击Apply在选择Dynamic Web 和 Java 。

2. 修改原来web项目的路径点击 Further configuration available 并勾选Generate点击ok后在Apply应用后保存并关闭

3. 完成以上步骤之后可能还是报错就要在pom.xml添加一个插件

<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>

4. 最后右击项目 Maven --> Update Project 修改项目就ok啦!

5.6 项目测试

这里编写了一个简单的sevlet跳转到index.jsp页面进行测试

package com.ycxw.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;
@WebServlet("/HelloMavenServlet")
public class HelloMavenServlet extends HttpServlet {
  private static final long serialVersionUID = 1L;
  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("hello,maven");
    request.getRequestDispatcher("/index.jsp").forward(request, response);
  }
}
相关文章
|
8天前
|
XML Java Maven
Maven 构建配置文件
Maven 构建配置文件
|
12天前
|
XML Java Maven
Maven 构建配置文件
Maven 构建配置文件
|
5天前
|
存储 分布式计算 分布式数据库
深入理解Apache HBase:构建大数据时代的基石
在大数据时代,数据的存储和管理成为了企业面临的一大挑战。随着数据量的急剧增长和数据结构的多样化,传统的关系型数据库(如RDBMS)逐渐显现出局限性。
41 12
|
14天前
|
XML Java Maven
Maven 构建配置文件
Maven 构建配置文件
|
2天前
|
XML Java Maven
Maven 构建配置文件
Maven 构建配置文件
|
6天前
|
XML Java Maven
Maven 构建配置文件
Maven 构建配置文件
|
4天前
|
XML Java Maven
Maven 构建配置文件
Maven 构建配置文件
|
10天前
|
XML Java Maven
Maven 构建配置文件
Maven 构建配置文件
|
18天前
|
XML Java Maven
Maven 构建配置文件
Maven 构建配置文件
|
16天前
|
XML Java Maven
Maven 构建配置文件
Maven 构建配置文件

推荐镜像

更多