Maven实现项目构建工具

目录
  • 1.Maven介绍
    • 1.1Maven是什么
    • 1.2为什么要使用maven
  • 2.Maven安装
    • 2.1下载Maven:
    • 2.2解压并配置
    • 2.3编辑Maven环境变量
  • 3.Maven配置
    • 3.1仓库类型
    • 3.2本地仓库配置
    • 3.3远程镜像配置
  • 4.Maven常用命令
    • 4.1 通过命令来构建项目
    • 4.2 对项目进行打包
    • 4.3 将项目安装到本地仓库

1.Maven介绍

1.1Maven是什么

Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。

Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司项目采用 Maven 的比例在持续增长。

Maven这个单词来自于意第绪语(犹太语),意为知识的积累,最初在Jakata Turbine项目中用来简化构建过程。当时有一些项目(有各自Ant build文件),仅有细微的差别,而JAR文件都由CVS来维护。于是希望有一种标准化的方式构建项目,一个清晰的方式定义项目的组成,一个容易的方式发布项目的信息,以及一种简单的方式在多个项目中共享JARs

知识点总结:

Maven项目对象模型(POM) 主要管理项目的构建,报告和文档的项目管理工具软件。

1.2为什么要使用maven

由于 Java 的生态非常丰富,无论你想实现什么功能,都能找到对应的工具类,这些工具类都是以 jar包的形式出现的,例如 Spring,SpringMVC、MyBatis、数据库驱动,等等,都是以 jar包的形式出现的,jar包之间会有关联,在使用一个依赖之前,还需要确定这个依赖所依赖的其他依赖,所以,当项目比较大的时候,依赖管理会变得非常麻烦臃肿,这是 Maven 解决的第一个问题。

Maven 还可以处理多模块项目。简单的项目,单模块分包处理即可,如果项目比较复杂,要做成多模块项目,例如一个电商项目有订单模块、会员模块、商品模块、支付模块...,一般来说,多模块项目,每一个模块无法独立运行,要多个模块合在一起,项目才可以运行,这个时候,借助 Maven 工具,可以实现项目的一键打包。

Maven 之前,我们更多的是使用Ant的项目构建工具,Ant 有一个特点,每次都得写,每次都写的差不多,配置也臃肿。所以,后来搞出来Maven。Maven就是最先进的版本构建工具吗?不是的,只不过,目前在 Java 领域 Maven 使用比较多。除了 Maven,还有 Gradle。

2.Maven安装

Maven是 Java项目,因此必须先安装 JDK。

2.1下载Maven:

下载地址:http://maven.apache.org/download.cgi

2.2解压并配置

bin: 该目录包含了mvn运行的脚本,分别为mvn、mvn.bat、mvnDebug、mvnDebug.bat和m2.conf,这些脚本用来配置 Java 命令,准备 CLASSPATH 和相关的 Java 系统属性,然后执行 Java 命令
boot: 该目录只包含一个文件,以maven 3.0为例,该文件为plexus-classworlds-2.2.3.jar。plexus-classworlds是一个类加载器框架,相对于默认的 Java 类加载器,它提供了更丰富的语法以方便配置,Maven 使用该框架加载自己的类库。
conf: 该目录包含了要给非常重要的文件settings.xml。直接修改该文件,就能再机器上全局地定制 Maven 的行为。一般情况下,我们更偏向于复制该文件至/.m2/目录下(表示用户目录),然后修改该文件,在用户范围定制 Maven 的行为。
lib: 该目录包含了所有 Maven 运行时需要的 Java 类库,Maven 本身是分模块开发的,因此用户能看到诸如maven-core-3.0.jar和maven-model-3.0.jar之类的文件。
LICENSE: 该文件记录了 Maven 使用的软件许可证
NOTICE:该文件记录了 Maven 包含的第三方软件。
README.txt: 该文件则包含了 Maven 的简要介绍,包括安装需求以及如何安装的简要指令等。

2.3编辑Maven环境变量

2.3.1检查JDK环境变量

1.配置Java_Home环境变量

2.通过DOS命令窗口 检查配置是否有效

2.3.2 配置maven_home环境变量

1.配置MAVEN_HOME

2.配置环境变量

3.检查Maven是否有效 重启DOS窗口

3.Maven配置

实际上,没有特殊需求的话,安装好之后直接就可以用了。一般来说,还是需要稍微配置一下,比如中央仓库的问题。Maven默认使用自己的中央仓库,使用起来网速比较慢,这个时候,可以通过修改配置文件,将仓库改成国内的镜像仓库,国内仓库使用较多的是阿里巴巴的仓库。

3.1仓库类型

仓库类型 说明  
本地仓库
就是你自己电脑上的仓库,每个人电脑上都有一个仓库,默认位置在当前用户名\.m2\repository

私服仓库
一般来说是公司内部搭建的 Maven私服,处于局域网中,访问速度较快,这个仓库中存放的 jar一般就是公司内部自己开发的 jar

中央仓库
由 Apache团队来维护,包含了大部分的 jar,早期不包含Oracle数据库驱动,从 2019年 8月开始,包含了 Oracle 驱动

现在存了三个仓库,那么jar包如何查找呢?

3.2本地仓库配置

本地仓库默认位置在当前用户名\.m2\repository,这个位置可以自定义,但是不建议大家自定义这个地址,有几个原因:

  • 虽然所有的本地的 jar都放在这个仓库中,但是并不会占用很大的空间。
  • 默认的位置比较隐蔽,不容易碰到

技术上来说,当然是可以自定义本地仓库位置的,在 conf/settings.xml中自定义本地仓库位置:

<localRepository>f:\My-Maven-Repository</localRepository>

3.3远程镜像配置

由于默认的中央仓库下载较慢,因此,也可以将远程仓库地址改为阿里巴巴的镜像仓库地址:

<mirror>
  <id>alimaven</id>
  <mirrorOf>central</mirrorOf>
  <name>aliyun maven</name>
  <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
</mirror>

这段配置,加在 settings.xml中的 mirrors节点中:

4.Maven常用命令

Maven中有一些常见的命令,如果使用Eclipse需要手动敲命令,如果使用 IDEA的话,可以不用命令,直接点点点就可以了


常用命令 中文含义 说明


mvn clean


清理


这个命令可以用来清理已经编译好的文件


mvn compile


编译


将 Java代码编译成Class文件


mvn test


测试


项目测试


mvn package


打包


根据用户的配置,将项目打成 jar包或者 war包


mvn install


安装/部署


手动向本地仓库安装一个 jar


mvn deploy


上传


将 jar上传到私服

这里需要注意的是,这些命令都不是独立运行的,它有一个顺序。举个简单例子:

我想将jar上传到私服,那么就要构建jar,就需要执行package命令,要打包,当然也需要测试,那就要走mvn test 命令,要测试就要先编译.............................. ,因此,最终所有的命令都会执行一遍。不过,开发者也可以手动配置不执行某一个命令,这就是跳过。一般来说,除了测试,其他步骤都不建议跳过。

当然,如果开发者使用了 IDEA,这些命令不用手动敲,点一下就行:

1.validate 验证工程是否正确,所有需要的资源是否可用。 命令: mvn validate
2.compile 将文件由.java文件编译为.class文件 动态生成target文件目录 命令: mvn compile
3.clean 清空target文件目录 命令: mvn clean
4.test 执行测试方法是否正确 命令: mvn test
5.package 将项目的target文件打包为jar包文件 命令: mvn package
6.verify 对集成测试的结果进行检查,以保证质量达标 命令: mvn verify
7.install 安装打包的项目到本地仓库,以供其他项目使用 命令: mvn install
8.site 项目站点文档创建的处理 命令: mvn site
9.deploy 拷贝最终的工程包到远程仓库中,以共享给其他开发人员和工程 (了解 用不到)

4.1 通过命令来构建项目

可以直接通过命令来构建一个 Maven项目,不过在实际开发中,一般使用Eclipse或者 IDEA就可以直接创建 Maven项目了。创建命令:

mvn archetype:generate

需要注意:第一次使用该命令,会先下载构建项目所需的jar包

项目创建成功后,就两个文件:

说明对一个任何一个项目而言,最最核心的就是这两个。

pom.xml中,则定义了所有的项目配置

4.2 对项目进行打包

接下来,我们通过mvn package命令可以将刚刚创建的项目打成一个 jar包。

在打包之前,需要配置JDK的版本至少为 7以上,因此,我们还需要手动修改一下pom.xml 文件,即添加如下配置:

<!-- java版本 -->
	<profile>
		  <id>jdk-11</id>
		  <activation>
        <activeByDefault>true</activeByDefault>
        <jdk>11</jdk>
		  </activation>

		  <properties>
        <maven.compiler.source>11</maven.compiler.source>
        <maven.compiler.target>11</maven.compiler.target>
        <maven.compiler.compilerVersion>11</maven.compiler.compilerVersion>
		  </properties>
	</profile>

执行打包命令,注意执行所有命令时,命令行要定位到 pom.xml文件所在的目录,看到如下提示,表示项目打包成功。

4.3 将项目安装到本地仓库

如果需要将项目安装到本地仓库,可以直接执行 mvn install命令,注意,mvn install命令会包含上面的 mvn package 过程。

安装到本地仓库之后,这个时候,点开自己的本地仓库,就可以看到相关的 jar了。

到此这篇关于Maven实现项目构建工具的文章就介绍到这了,更多相关Maven项目构建工具内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Java的项目构建工具Maven的配置和使用教程

    一.Maven是什么 Maven是一个用java开发的项目构建工具, 它能使项目构建过程中的编译.测试.发布.文档自动化, 大大减轻了程序员部署负担. 二.安装Maven 安装maven非常简单,访问Maven官方页下载即可:http://maven.apache.org/download.cgi 下载完后配置M2_HOME环境变量, 然后终端运行mvn --version, 看到正确的输出提示,Maven就安装完成了. 三.Maven基本概念 Maven的核心思想是POM, 即Project

  • Java Maven构建工具中mvnd和Gradle谁更快

    目录 1.mvnd 简介 2.Gradle 简介 2.1 Gradle 优点简述 3.Gradle 使用 3.1 更换 Gradle 为国内源 3.2 项目依赖文件对比 3.3 settings.gradle VS build.gradle 3.4 打包项目 4.mvnd 5.性能对比 5.1 Maven 打包性能 5.2 mvnd 打包性能 5.3 Gradle 打包性能 6.扩展:Gradle 打包文件存放目录 总结 前言; Maven 作为经典的项目构建工具相信很多人已经用很久了,但如果体

  • Maven实现项目构建工具

    目录 1.Maven介绍 1.1Maven是什么 1.2为什么要使用maven 2.Maven安装 2.1下载Maven: 2.2解压并配置 2.3编辑Maven环境变量 3.Maven配置 3.1仓库类型 3.2本地仓库配置 3.3远程镜像配置 4.Maven常用命令 4.1 通过命令来构建项目 4.2 对项目进行打包 4.3 将项目安装到本地仓库 1.Maven介绍 1.1Maven是什么 Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件

  • 基于Node.js的JavaScript项目构建工具gulp的使用教程

    npm install gulp --save-dev 什么是gulp? gulp是新一代的前端项目构建工具,你可以使用gulp及其插件对你的项目代码(less,sass)进行编译,还可以压缩你的js和css代码,甚至压缩你的图片,gulp仅有少量的API,所以非常容易学习. gulp 使用 stream 方式处理内容.Node催生了一批自动化工具,像Bower,Yeoman,Grunt等. gulp和grunt的异同点 易于使用:采用代码优于配置策略,Gulp让简单的事情继续简单,复杂的任务变

  • Scala项目构建工具sbt和IntelliJ IDEA环境配置详解

    1 Scala 安装 1.1 Windows (1)安装 Java 进入网址 https://www.oracle.com/java/technologies/javase-jdk15-downloads.html ,下载文件 jdk-15.0.1_windows-x64_bin.exe 运行下载好的文件,选择安装路径,以 E:\Program Files\Java\jdk-15.0.1\ 为例 配置环境变量( Windows 特有): 计算机 -- 右键 -- 属性 -- 高级系统设置 --

  • Node.js的项目构建工具Grunt的安装与配置教程

    Grunt 基于 Node.js ,用 JS 开发,这样就可以借助 Node.js 实现跨系统跨平台的桌面端的操作,例如文件操作等等.此外,Grunt 以及它的插件们,都作为一个 包 ,可以用 NPM 安装进行管理. 所以 NPM 生成的 package.json 项目文件,里面可以记录当前项目中用到的 Grunt 插件,而 Grunt 会调用 Gruntfile.js 这个文件,解析里面的任务(task)并执行相应操作. 安装 Grunt-cli 其实是安装 Grunt-cli ,这里安装Gr

  • 现代高效的java构建工具gradle的快速入门

    目录 和Maven一样,Gradle只是提供了构建项目的一个框架,真正起作用的是Plugin.Gradle在默认情况下为我们提供了许多常用的Plugin,其中包括有构建Java项目的Plugin,还有War,Ear等.与Maven不同的是,Gradle不提供内建的项目生命周期管理,只是java Plugin向Project中添加了许多Task,这些Task依次执行,为我们营造了一种如同Maven般项目构建周期.更多有关Maven的知识,读者可以访问Maven官网,或者可以参考笔者写的Maven学

  • 使用基于Node.js的构建工具Grunt来发布ASP.NET MVC项目

    Grunt 简介 Grunt是一款基于js和node.js的构建工具,由于这段时间node.js越来越火爆,grunt拥有丰富的开源社区支持,产生了很多插件.还有一些插件散落在node社区.构建是一个和宽泛的表述,传统理解就是编译.打包.复制,而今,随着技术越来越丰富,构建还包括对前端组件的预处理,比如sass.less预处理成css,css和js的压缩和合并.grunt的插件可以很好的支持这些新的构建概念,而且更为适合用开源技术堆砌的项目. 虽然Grunt更多的用于程序构建,但是本质上Grun

  • 如何用Vite构建工具快速创建Vue项目

    目录 和Webpack相比,Vite具有以下特点 Vite构建Vue项目 构建过程可能会发生的一些问题 总结 和Webpack相比,Vite具有以下特点 1.快速的冷启动,不需要等待打包 2.即时的热模块更新,真正的按需编译,不用等待整个项目编译完成 Vite构建Vue项目 前提:安装Node.js和Vite 第一步通过npm创建Vite项目 npm init vite-app 项目名称 # 例如 npm init vite-app HelloVue 第二步当项目创建成功后,cd到项目目录 cd

  • Java如何通过Maven管理项目依赖

    项目的依赖 Java最大的一个优势之一应该是整个生态中无数的框架和API,我们创建实际的项目不可避免的都需要用到这些框架和API,而它们通常都是以JAR包的形式提供.我们之前在编译项目的时候,需要在classpath上存放依赖的JAR包.而且这些外部的JAR包还会有其他依赖.我们需要递归地一个个去下载所有这些外部依赖,并且要确保下载的版本都是正确的,当项目越来越复杂的时候,这是极其麻烦的事情,比如碰到JAR Hell的问题. Maven现在来拯救我们了,Maven可以自动帮我们做依赖管理,我们需

随机推荐