Maven入门与开箱即用

这篇具有很好参考价值的文章主要介绍了Maven入门与开箱即用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Maven入门与开箱即用,Maven,后端,JAVA,maven,java

一、初识 Maven(了解)

1、项目遇到的问题

  • 构建:编译代码,运行测试,打包,部署应用,运行服务器等;
  • 依赖:项目依赖大量的第三方包,第三方包又依赖另外的包,对依赖包的管理非常麻烦。

2、Maven 定义和作用

  • Maven 翻译为“知识的积累”,“专家”,“行家”,是一个跨平台的项目管理工具;

  • Maven 主要用作基于 Java 平台的项目(Maven 本身也是 Java 编写的)的构建、依赖包管理和项目信息管理;

  • Maven 能提供一种项目的配置,配置好的项目,只需要运行一条简单的命令,就能完成重复的,繁琐的构建动作;

  • Maven 能提供一种项目的依赖配置,配置好的项目,Maven 能自动的从 Maven 的中央仓库中帮我们下载并管理项目依赖的 jar 包,并且还能自动的管理这些 jar 包依赖的其他 jar 包;

  • Maven 提供了一种标准的项目目录结构,测试命名规则等项目的最佳实践方案,统一了不同项目的学习成本(约定大于配置)。

二、Maven 安装(掌握)

1、检查 JDK 的版本

因为 Maven 不同的版本对 JDK 是有要求的,具体请看官网。
在命令行输入 java -version,查询安装 JDK 是否正确并查询安装的版本。若没有配置好的话,按照以下步骤配置好:

  • 添加 JAVA_HOME,需要指向 JDK 安装目录;
  • 添加 PATH,添加 %JAVA_HOME%\bin。

2、安装 Maven

把 apache-maven-x.x.x-bin.zip 解压到目录中(目录路径最好不要有空格和中文)。

3、配置环境变量

  • 配置环境变量,MAVEN_HOME,指向 maven 的根目录;
  • 配置环境变量 Path,将 %MAVEN_HOME%\bin 追加到 Path 中。

3.1、Win10 配置

在用户变量添加 MAVEN_HOME 配置maven 的根路径

Maven入门与开箱即用,Maven,后端,JAVA,maven,java

在path 上引用 MAVEN_HOME 变量,加入 bin 来配置环境变量

Maven入门与开箱即用,Maven,后端,JAVA,maven,java

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

4、验证 Maven 安装

打开命令行窗口,输入入 mvn –v 执行,若执行类似如下效果即代表安装成功。

Maven入门与开箱即用,Maven,后端,JAVA,maven,java

三、Maven Hello World(了解)

Maven入门与开箱即用,Maven,后端,JAVA,maven,java

把事先准备好的 Maven 项目,在命令行下输入命令试下:

  • mvn compile:编译
  • mvn clean:清除
  • mvn test:测试
  • mvn package:打包
  • mvn install:打包,本地仓库也放一份

四、Maven 设置(掌握)

1、本地仓库

运行过 Maven 命令才会在你的用户目录生成一个 .m2 目录,该目录下有个目录名 repository,这个就是所谓的本地仓库,主要存放是一些下载的 jar 文件。

本地仓库默认位置在用户目录/.m2/repository,本地仓库不建议在系统盘,最佳实践:

  • 将 Maven 根目录的 conf/settings.xml 拷贝到 .m2 中,作为个人 Maven 配置文件;
  • 在 settings.xml 文件中 修改本地仓库的位置。
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
    <!-- 本地仓库地址 -->
    <localRepository>你本地仓库的目录位置</localRepository>
</settings>

2、配置中央仓库镜像

在有网情况下,官方中央仓库服务器在国外,所以很大可能出现下载失败的问题,所以我们配置一个中央仓库的镜像来降低下载失败的概率。

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
    <!-- 本地仓库地址 -->
    <localRepository>你本地仓库的目录位置</localRepository>
    <mirrors>
        <!-- 阿里仓库镜像 -->
        <mirror>
            <id>alimaven</id>
            <name>aliyun maven</name>
            <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
            <mirrorOf>central</mirrorOf>
        </mirror>
    </mirrors>
</settings>

五、IDEA 中 Maven 的配置(掌握)

配置安装的 Maven,设置 setttings.xml 和本地仓库。

Maven入门与开箱即用,Maven,后端,JAVA,maven,java
Maven入门与开箱即用,Maven,后端,JAVA,maven,java

六、搭建基于 Maven 构建的 JavaSE 项目(掌握)

1、创建项目

1.1、选择建的是 New Project 项目

Maven入门与开箱即用,Maven,后端,JAVA,maven,java

确定后之后点击 Create。

2、pom.xml 文件

用于填写项目信息,打包方式,添加依赖及插件等。

修改项目的版本信息
Maven入门与开箱即用,Maven,后端,JAVA,maven,java

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>cn.wolfcode</groupId>
    <artifactId>maven-se</artifactId>
    <version>1.0.0</version>

</project>

3、添加依赖

3.1、利用索引添加依赖

所谓建索引,就对本地仓库的依赖建立索引,若本地仓库存在 10 个依赖,那么在添加的时候可以搜索得出来,很方便在 pom.xml 添加。但注意搜索得出来是本地仓库已有的前提下。而这个索引在 IDEA 开发工具会自动建好,直接使用即可(有时候索引会建立失败,无法提示)。

3.1.1、添加 dependencies 元素

Maven入门与开箱即用,Maven,后端,JAVA,maven,java

3.1.2、添加 dependency 元素

Maven入门与开箱即用,Maven,后端,JAVA,maven,java

3.1.3、填选依赖名称

Maven入门与开箱即用,Maven,后端,JAVA,maven,java

3.1.4、选择依赖的版本

Maven入门与开箱即用,Maven,后端,JAVA,maven,java

3.1.5、填写依赖的作用域

Maven入门与开箱即用,Maven,后端,JAVA,maven,java

3.1.6 Maven刷新,更新依赖

Maven入门与开箱即用,Maven,后端,JAVA,maven,java
或 >>>

Maven入门与开箱即用,Maven,后端,JAVA,maven,java

3.1.7、验证依赖添加成功

Maven入门与开箱即用,Maven,后端,JAVA,maven,java

3.2、网站搜索拷贝添加依赖

搜索依赖的网站。

3.2.1、在搜索栏中输入要添加的依赖

Maven入门与开箱即用,Maven,后端,JAVA,maven,java

3.2.2、选择所要的依赖和其版本

Maven入门与开箱即用,Maven,后端,JAVA,maven,java
Maven入门与开箱即用,Maven,后端,JAVA,maven,java

3.2.3、拷贝对应配置到 pom.xml 中

Maven入门与开箱即用,Maven,后端,JAVA,maven,java

4、使用 Maven 命令

在 Maven Projects 窗口,双击对应命令即可:

Maven入门与开箱即用,Maven,后端,JAVA,maven,java

七、搭建基于 Maven 构建的 JavaWeb 项目(掌握)

1、创建项目

1.1、选择建的是 Maven 项目

Maven入门与开箱即用,Maven,后端,JAVA,maven,java

确定后之后点击 Next。

Maven入门与开箱即用,Maven,后端,JAVA,maven,java

填完之后点击 Next。

1.2、修改项目版本和JDK版本

在 pom.xml 修改:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>cn.wolfcode</groupId>
    <artifactId>maven-web</artifactId>
    <!--修改项目版本-->
    <version>1.0.0</version>
    <name>maven-web</name>
    <packaging>war</packaging>
    
    <properties>
        <!-- 字符集 -->
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <!-- 修改JDK 的编译和运行版本 -->
        <maven.compiler.target>11</maven.compiler.target>
        <maven.compiler.source>11</maven.compiler.source>
    </properties>
</project>

1.3、删除Junit 相关配置

删除 JUnit 相关配置,自行配置 JUnit 依赖

 <dependencies>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>4.0.1</version>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.48</version>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>${junit.version}</version>
            <scope>test</scope>
        </dependency>
</dependencies>

注意:JUnit 依赖可以在@Test 上提示导包的方式来导入

1.4 删除默认的 war 包插件,配置 Tomcat 插件

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.tomcat.maven</groupId>
            <artifactId>tomcat7-maven-plugin</artifactId>
            <version>2.1</version>
            <configuration>
                <port>80</port> <!-- 端口 -->
                <path>/</path> <!-- 上下路径 -->
                <uriEncoding>UTF-8</uriEncoding> <!-- 针对 GET 方式乱码处理 -->
            </configuration>
        </plugin>
    </plugins>
</build>

2、启动项目

Maven入门与开箱即用,Maven,后端,JAVA,maven,java

八、概念解释(了解)

1、坐标

1.1、数学中的坐标

在空间中,使用 X、Y、Z 三个向量可以唯一的定位空间中的任意一个点。

1.2、Maven 中的坐标

标识项目或者依赖在仓库中的位置。主要由下面构成:

  • groupId:项目名称,一般使用公司或组织域名倒写,域名具有唯一性,区分不同公司;
  • artifactId:项目中 Maven 项目/模块名称,区分同一个公司的项目;
  • version:项目版本,区分同一个项目不同时期的特点。

2、依赖

配置项目所要依赖的 jar,在 pom.xml 使用 dependency 元素配置,通过坐标先从本地仓库找,若没有再从远程仓库找。

2.1、scope

Maven 在编译,测试,运行的时候,各需要一套 classpath(比如编译的时候会有编译的 classpath,测试的时候会有测试的 classpath)。scope 表明该依赖的项目和三个 classpath 的关系,即表示依赖什么阶段起作用,什么阶段不起作用。

scope 主要可选值:

  • compile:默认,适用于所有阶段,会随着项目一起发布,在编译,测试,运行时都有效;
  • provided:编译和测试阶段使用;典型的如 servlet-api.jar,打包时不需要,容器来提供;
  • runtime:测试和运行阶段使用,用于接口和实现分离,典型的如 JDBC 具体驱动实现;
  • test:测试阶段使用,不会随项目发布,如 JUnit。

Maven入门与开箱即用,Maven,后端,JAVA,maven,java

2.2、传递性

Maven 的依赖是具有传递性的,比如 A -> B,B -> C,那么 A 间接的依赖于 C,这就是依赖的传递性,其中 A 对于 B 是第一直接依赖,B 对于 C 是第二直接依赖,C 为 A 的传递性依赖。依赖的传递性可以解决依赖繁琐的问题。

小结

  • 了解 Maven 是什么,为什么要使用 Maven。

    一个项目构建(编译测试运行部署)工具(提供命令给编译测试运行部署)

    添加 jar 方便, 不用我们自己管理 jar

  • 掌握 Maven 安装及配置。

    不是死记硬背, 软件按照配置, 做总结就够, 有图的

  • 熟悉 Maven 项目目录结构,知道什么类型文件放到什么目录里。

    死记硬背, 因为后面经常建这样的项目

  • 掌握在开发工具中搭建基于 Maven 构建 JavaSE 项目。

  • 掌握在开发工具中搭建基于 Maven 构建 JavaWeb 项目。

​ 在 idea 中建项目选择 maven , 输入项目信息

​ 若是 web 项目, 配置打包方式为 war, 提供 web.xml, 在 pom.xml 配置 tomcat 插件, 若要启动项目则通过 Tomcat 插件的命令启动

​ 根据需求来写代码文章来源地址https://www.toymoban.com/news/detail-738200.html

到了这里,关于Maven入门与开箱即用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 高效构建Java应用:Maven入门和进阶(五)

    5.1 项目需求和结构分析 需求案例:搭建一个电商平台项目,该平台包括用户服务、订单服务、通用工具模块等。 项目架构: 用户服务:负责处理用户相关的逻辑,例如用户信息的管理、用户注册、登录等。 订单服务:负责处理订单相关的逻辑,例如订单的创建、订单支付

    2024年01月19日
    浏览(39)
  • 一、高效构建Java应用:Maven入门和进阶

    一、Maven简介和快速入门 1.1 Maven介绍 1.2 Maven主要作用理解 1.3 Maven安装和配置 二、基于IDEA的Maven工程创建 2.1梳理Maven工程GAVP属性 2.2 Idea构建Maven JavaSE工程 2.3 Idea构建Maven JavaEE工程 2.4 Maven工程项目结构说明 三、Maven核心功能依赖和构建管理 3.1 依赖管理和配置 3.2依赖传递和冲

    2024年02月08日
    浏览(40)
  • 高效构建Java应用:Maven入门和进阶(一)

    1.1 Maven介绍 Maven 是一款为 Java 项目构建管理、依赖管理的工具( 软件 ),使用 Maven 可以自动化构建、测试、打包和发布项目,大大提高了开发效率和质量。 总结:Maven就是一个软件,掌握软件安装、配置、以及基本功能 (项目构建、依赖管理) 使用就是本课程的主要目标

    2024年01月25日
    浏览(74)
  • maven从入门到精通 第三章 Maven中形成web对Java工程的依赖

    从来只有war包中含有jar包,而没有jar包中含有war包 web工程依赖的java工程,就是jar包,这个jar包经过自动化部署后,会放在web工程的web-inf/lib目录下 在 pro02-maven-web 工程的 pom.xml 中,找到 dependencies 标签,在 dependencies 标签中做如下配置 证明在Web工程中可以使用Java工程中创建的

    2024年02月02日
    浏览(48)
  • 开箱即用轻量级雪花算法id生成器Java工具类

    在 Java后端研发过程中,对于分布式微服务来说,一般需要分布式 id生成. 这里分享一个非常好用且大多数情况下都可用的开箱即用轻量级雪花算法id生成器Java工具类。 这种方式生成的雪花算法生成器生成的唯一主键id,好处是不依赖第三方组件,轻量级,缺点是服务器的时钟

    2024年02月07日
    浏览(44)
  • Hugging Face 的 Transformers 库快速入门 (一)开箱即用的 pipelines

    注:本系列教程仅供学习使用, 由原作者授权, 均转载自小昇的博客 。 Transformers 是由 Hugging Face 开发的一个 NLP 包,支持加载目前绝大部分的预训练模型。随着 BERT、GPT 等大规模语言模型的兴起,越来越多的公司和研究者采用 Transformers 库来构建 NLP 应用,因此熟悉 Transformer

    2023年04月27日
    浏览(50)
  • 【java】【maven】【基础】MAVEN安装配置介绍

    目录 1 下载 2 安装-windows为例  3 配置环境变量  3.1 JAVA_HOME 3.2 MAVEN_HOME 3.3 PATH  3.4 验证 4 MAVEN基础概念 4.1 仓库概念 4.2 坐标概念 4.2.1 打开网址  4.2.2 输入搜索内容junit  4.2.3 找到对应API名称点击  4.2.4 点击对应版本  4.2.5 复制MAVEN坐标 4.3 配置本地仓库 4.3.1 初始默认仓库 4.3

    2024年02月14日
    浏览(39)
  • Java Maven项目推送到 Maven 中央仓库

    当需要在 sonatype 认证 com.xxx 命名空间时,需要将 @.xxx.com 配置域名解析。 记录类型:TXT 文本内容:验证的 key。 GPG 下载地址:https://www.gnupg.org/download/index.html Mac 可以使用 brew install gpg 直接安装 使用方式可参考: https://central.sonatype.org/publish/requirements/gpg/ https://www.jianshu.com/

    2024年04月13日
    浏览(31)
  • 【java】【maven】【高级】MAVEN聚合继承属性等

    目录 1、模块开发与设计 2、聚合 2、继承 3、属性 4、版本管理 5、资源配置 6、多环境配置 7、多环境开发配置 8、跳过测试 9、私服  前言:maven的高级使用包含分模块开发与设计、聚合、继承、属性、版本管理、资源配置、多环境配置、多环境开发配置、跳过测试、私服  

    2024年02月13日
    浏览(35)
  • Maven(四):Maven的使用——java工程与Web工程

    本博主将用CSDN记录软件开发求学之路上亲身所得与所学的心得与知识,有兴趣的小伙伴可以关注博主!也许一个人独行,可以走的很快,但是一群人结伴而行,才能走的更远! 使用 mvn archetype:generate 命令生成 Web 工程时,需要使用一个专门的 archetype 。这个专门生成 Web 工程

    2023年04月19日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包