• maven的安装和使用


    目录

    在安装maven之前先来聊聊mave是用来干什么的?我们为什么要用它?

    ①简介

    ②作用领域

    ③作用

    ④特点

    ⑤约定优于配置

    ⑥标准目录结构 

    我们知道maven是自动构建工具,那自动构建工具是什么呢?

    常见的自动构建工具有哪些? 

    java生态体系中有以下三大构建工具 :

    三者的区别: 

    如何安装?

    ①官方下载路径:

    ②配置环境变量

    验证安装

    maven的三种仓库

    1.本地仓库 

    2.私有仓库(公司私服)

    3.中央仓库(远程仓库)

    为什么要换源?

    maven坐标

    web项目创建实例

    1.Create a Maven  project

    2.选择数据集catalog 

    3. 填写maven坐标

    4.给项目配置服务

    5.修改web版本为3.1

    ①修改pom文件

    ②修改web.xml文件 

    ③修改eclipse 的 .settings 配置文(org.eclipse.wst.common.project.facet.core.xml)

    6.测试:运行index


    在安装maven之前先来聊聊mave是用来干什么的?我们为什么要用它?

    ①简介

    maven是Apache公司开发一款基于java平台的项目管理和整合工具,是一个自动构建工具,它将项目的开发和管理过程抽象成一个项目对象模型(POM)。开发人员只需要做一些简单的配置,Maven 就可以自动完成项目的编译、测试、打包、发布以及部署等工作,不仅如此,maven还能帮我们处理第三方依赖,和依赖传递,甚至里面还有丰富的扩展插件,如代码检查插件、单元测试插件

     项目对象模型(POM)是什么?

    Project Object Model,项目对象模型。通过xml格式保存的pom.xml文件。作用类似ant的build.xml文件,功能更强大

    该文件用于管理:源代码、配置文件、开发者的信息和角色、问题追踪系统、组织信息、项目授权、项目的url、项目的依赖关系等等。

    ②作用领域

    Maven 是使用 Java 语言编写的,因此它和 Java 一样具有跨平台性,这意味着无论是在 Windows ,还是在 Linux 或者 Mac OS 上,都可以使用相同的命令进行操作

    ③作用

    • 构建项目
    • 生成文档
    • 创建报告
    • 维护依赖
    • 软件配置管理
    • 发布
    • 部署

    ④特点

    1. 设置简单。
    2. 所有项目的用法一致。
    3. 可以管理和自动进行更新依赖。
    4. 庞大且不断增长的资源库。
    5. 可扩展,使用 Java 或脚本语言可以轻松的编写插件。
    6. 几乎无需额外配置,即可立即访问新功能。
    7. 基于模型的构建:Maven 能够将任意数量的项目构建为预定义的输出类型,例如 JAR,WAR。
    8. 项目信息采取集中式的元数据管理:使用与构建过程相同的元数据,Maven 能够生成一个网站(site)和一个包含完整文档的 PDF。
    9. 发布管理和发行发布:Maven 可以与源代码控制系统(例如 Git、SVN)集成并管理项目的发布。
    10. 向后兼容性:您可以轻松地将项目从旧版本的 Maven 移植到更高版本的 Maven 中。
    11. 并行构建:它能够分析项目依赖关系,并行构建工作,使用此功能,可以将性能提高 20%-50%。
    12. 更好的错误和完整性报告:Maven 使用了较为完善的错误报告机制,它提供了指向 Maven Wiki 页面的链接,您将在其中获得有关错误的完整描述。

    ⑤约定优于配置

    约定优于配置(Convention Over Configuration)是 Maven 最核心的涉及理念之一 ,Maven对项目的目录结构、测试用例命名方式等内容都做了规定,凡是使用 Maven 管理的项目都必须遵守这些规则。

    Maven 项目构建过程中,会自动创建默认项目结构,开发人员仅需要在相应目录结构下放置相应的文件即可。

    例如,下表显示了项目源代码文件,资源文件和其他配置在 Maven 项目中的默认位置。 
     

    ⑥标准目录结构 

    文件目录
    Java 源代码src/main/java
    资源文件src/main/resources 
    测试源代码src/test/java 
    测试资源文件src/test/resources
    打包输出文件target
    编译输出文件target/classes

    我们知道maven是自动构建工具,那自动构建工具是什么呢?

    • 原始方式
      HelloWorld.java --(javac) --> HelloWorld.class ----> java HelloWorld

    • IDE集成开发环境
      例如: eclipse,IDEA

    • 传统的web项目搭建时,一般是先手动的获取依赖的jar包,然后在放入web-inf的lib包下,如果存在传递依赖,则需要自己将相关的jar包下载下来并放入web-inf的lib包下。使用maven只需要在pom配置文件中将依赖配置好,maven会自动处理依赖。

    常见的自动构建工具有哪些? 

    java生态体系中有以下三大构建工具 :

    • ant
    • maven
    • Gradle android项目管理和构建已使用

    Ant的主要目的就是把你想做的事情自动化,不用你手动一步一步做,因为里面内置了javac、java、创建目录、复制文件等功能,所以可以直接点击Ant文件,即可编译生成你的项目.

    三者的区别: 

    其中,Ant是由Apache软件基金会维护;Maven这个单词来自于意第绪语(犹太语),意为知识的积累,最初在Jakata Turbine项目中用来简化构建过程;Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建开源工具,它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的各种繁琐配置,Gradle使用的是脚本语言,相比较而言更加灵活。

    如何安装?

    ①官方下载路径:

    Maven – Download Apache Mavenhttp://maven.apache.org/download.cgi

     下载后解压,将解压后的文件放入你的磁盘即可,这里我是存放在E盘。

    ②配置环境变量

    • MAVEN_HOME
    • M2_HOME
    • 修改path添加maven相关路径

     MAVEN_HOME和M2_HOME的配置:

     path的配置:

    %MAVEN_HOME%\bin;

    验证安装

    doc窗口输入mvn -version验证,出现以下信息则表示安装成功。

    若没有出现上述信息就去检查环境变量是否配置完成。

    如果配置好了还是无效或者报JAVA_HOME的异常,可以参考以下博文:

     https://blog.csdn.net/m0_67376124/article/details/126396230

    maven的三种仓库

    1.本地仓库 

    本地仓库就是开发者本地已经下载下来的或者自己打包所有jar包的依赖仓库,本地仓库路径配置在maven对应的conf/settings.xml配置文件。

    2.私有仓库(公司私服)

    私有仓库其实公司为了自己公司存放资源打造的一个公司级别的仓库。 

    3.中央仓库(远程仓库)

    中央仓库是maven的默认下载地址,是由maven维护的,默认的中央仓库地址是:http://repo1.maven.org/maven2,这个地址设置在maven的源码配置文件中。

    1. <repositories>
    2. <repository>
    3. <id>jdk14id>
    4. <name>Repository for JDK 1.4 buildsname>
    5. <url>http://www.myhost.com/maven/jdk14url>
    6. <layout>defaultlayout>
    7. <snapshotPolicy>alwayssnapshotPolicy>
    8. repository>
    9. repositories>

     


    了解完三大仓库我们再来聊聊maven的下载流程: 

    从上面的流程图可以看到更新项目依赖时,首先从本地仓库查询,本地仓库如果查到直接编译,如果查不到就根据配置去中央仓库查询还是私服查询,查询私服的时候私服如果有就直接返回,私服没有就先去中央仓库下载然后保存到私服再返回。 

    为什么要换源?

    maven默认使用的是国外的下载路径,速度受网络限制比较大,换成国内的镜像速度会提升很多。

    maven坐标

    • group id:组织id,一般就是公司域名反写
    • artifact id:项目名字
    • version:版本

    web项目创建实例

    1.Create a Maven  project

    点击next。

    2.选择数据集catalog 

     选中之后点击next.

    3. 填写maven坐标

    点击finish就创建好了。 

    4.给项目配置服务

    Alt+enter-->Java Build Path-->Libraries-->add Library-->server  runtime

    5.修改web版本为3.1

    ①修改pom文件

    1. <build>
    2. <finalName>mavendemofinalName>
    3. <plugins>
    4. <plugin>
    5. <groupId>org.apache.maven.pluginsgroupId>
    6. <artifactId>maven-compiler-pluginartifactId>
    7. <version>3.7.0version>
    8. <configuration>
    9. <source>1.8source>
    10. <target>1.8target>
    11. <encoding>UTF-8encoding>
    12. configuration>
    13. plugin>
    14. plugins>
    15. build>

    注意:修改好文件后一定要刷新maven : Maven -> Update project 

    ②修改web.xml文件 

    1. "1.0" encoding="UTF-8"?>
    2. <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    3. xmlns="http://xmlns.jcp.org/xml/ns/javaee"
    4. xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
    5. id="WebApp_ID" version="3.1">
    6. <display-name>Archetype Created Web Applicationdisplay-name>
    7. web-app>

    ③修改eclipse 的 .settings 配置文(org.eclipse.wst.common.project.facet.core.xml)

    1. "1.0" encoding="UTF-8"?>
    2. <faceted-project>
    3. <fixed facet="wst.jsdt.web"/>
    4. <installed facet="jst.web" version="3.1"/>
    5. <installed facet="wst.jsdt.web" version="1.0"/>
    6. <installed facet="java" version="1.8"/>
    7. faceted-project>

    6.测试:运行index

    运行结果如下: 


    这期讲解的是maven的安装和基本的使用,下期带来更多使用!有什么问题可以私信博主的😄

  • 相关阅读:
    Unity 2D 游戏学习笔记(4)
    cgroups v1简介
    CCSP(Certified Cloud Security Professional) 国际注册云安全专家
    软件测试/测试开发丨​利用ChatGPT编写测试用例
    @Mapper与@MapperScan注解
    【Multisim仿真】LM339过零电路仿真
    JS进阶笔记(原型、继承、this指向、闭包、递归、正则表达式)
    隧道人员定位解决方案,好用到离谱
    第五章 C++与STL入门 例题
    gitlab 16.x - ERR unknown command ‘HELLO‘
  • 原文地址:https://blog.csdn.net/m0_67376124/article/details/126396418