Web基础配置篇(二): Maven配置及使用

Web基础配置篇(二): Maven配置及使用

一、概述

Maven是一个软件开发管理工具,主要管理工作是:依赖管理,项目一键构建。

以前用过ant,很不方便,maven比较简单易用。

然后后面又来了个gradle,貌似比maven更好用,我这里不会,也不讲,就目前来说,maven的用户量还是比较大的。

项目地址:
品茗IT-同步发布

品茗IT 提供在线支持:

一键快速构建Spring项目工具

一键快速构建SpringBoot项目工具

一键快速构建SpringCloud项目工具

一站式Springboot项目生成

Mysql一键生成Mybatis注解Mapper

如果大家正在寻找一个java的学习环境,或者在开发中遇到困难,可以加入我们的java学习圈,点击即可加入,共同学习,节约学习时间,减少很多在学习中遇到的难题。

二、Maven配置

如果只是eclipse使用maven,就不需要配置maven了,eclipse自带maven插件。想要在命令行使用,需要单独配置maven。

2.1 下载

maven官方网站

先下载maven,比如当前的maven版本是3.6.0。

http://mirror.bit.edu.cn/apache/maven/maven-3/3.6.0/binaries/apache-maven-3.6.0-bin.zip

解压下载文件:

在这里插入图片描述

Linux可以使用wget下载:

wget http://mirror.bit.edu.cn/apache/maven/maven-3/3.6.0/binaries/apache-maven-3.6.0-bin.tar.gz
2.2 Windows配置环境

配置maven的环境变量M2_HOME,例如我的地址是E:\DevSoft\maven\apache-maven-3.6.0:

在这里插入图片描述

配置Path:在Path中加入:%M2_HOME%\bin, 注意变量前后后的分号。

mvn -v或者mvn -version测试:

PS C:\WINDOWS\system32> mvn -v
Apache Maven 3.6.0 (97c98ec64a1fdfee7767ce5ffb20918da4f719f3; 2018-10-25T02:41:47+08:00)
Maven home: E:\DevSoft\maven\apache-maven-3.6.0\bin\..
Java version: 1.8.0_151, vendor: Oracle Corporation, runtime: C:\Program Files\Java\jdk1.8.0_151\jre
Default locale: zh_CN, platform encoding: GBK
OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
PS C:\WINDOWS\system32>
2.3 Linux配置环境

下载maven到/usr/local下的maven目录,目录自己建,自己找。

wget http://mirror.bit.edu.cn/apache/maven/maven-3/3.6.0/binaries/apache-maven-3.6.0-bin.tar.gz

解压下载的apache-maven-3.6.0-bin.tar.gz

tar -xvf apache-maven-3.6.0-bin.tar.gz

配置环境变量,需要修改/etc/profile:vi /etc/profile

export MAVEN_HOME=/usr/local/maven/apache-maven-3.6.0
PATH=$MAVEN_HOME/bin:$PATH

刷新配置:source /etc/profile

mvn -v或者mvn -version测试即可。

三、Maven使用

3.1 settings.xml

settings.xml对于maven来说相当于全局性的配置,用于所有的项目。在maven2中存在两个settings.xml:

一个位于maven2的安装目录conf下面,作为全局性配置。对于团队设置,保持一致的定义是关键,所以maven2/conf下面的settings.xml就作为团队共同的配置文件。保证所有的团队成员都拥有相同的配置。

另外一个settings.xml就作为本地配置。需要特殊的自定义设置,如用户信息等可以配置在这个文件中。默认的位置为:user.dir/.m2/settings.xml目录中({user.dir} 指windows 中的用户目录。

配置详情这里就不详说了,对于工作后的你来说,这个settings.xml一般都是从老员工那儿拷过来会比较好,或者你必须要配置,那就不是三言两语说的清了。

3.2 pom.xml

pom.xml主要描述了项目的maven坐标,依赖关系,开发者需要遵循的规则,缺陷管理系统,组织和licenses,以及其他所有的项目相关因素,是项目级别的配置文件.

这个文件里常用到下面几个概念:

  • groupId: 一般是域名倒写,其实是瞎写的,规范一点是这样的。

  • artifactId:一般是2级域名,其实是瞎写的,规范一点是这样的。

  • packaging: 打包成啥

  • dependencies:依赖的jar包。

  • parent: 父maven项目。

  • dependencyManagement:依赖的管理,一般用它来管理依赖,然后子项目在dependencies中依赖父pom管理的依赖的时候可以不写版本号。

  • build: 构建相关

  • modules: 模块管理使用,在父项目中定义子项目模块。

3.3 Eclipse使用Maven

eclipse里面,run as时候会出现maven操作。

在这里插入图片描述

一般来说,用不了那么多的,用Maven install和Maven clean已经够用了。

Maven install: 对项目进行编译、将项目打成war包并且发布到本地仓库。

Maven clean: 清除target目录下的之前打好的jar包或者是war包;

Maven build : 重新对该maven项目进行打包,这里需要手动的输入打包的命令 -X package

Maven build… : 对Maven build重新配置命令。

3.4 Maven命令行使用

命令行是没有 mvn build这个命令的。
只有mvn install 和 mvn package

  • mvn install 是将你打好的jar包安装到你的本地库中,一般没有设置过是在 用户目录下的 .m2\下面。

  • mvn package 只是将你的代码打包到输出目录,一般的是 target下面。

  • mvn deploy 可以将打包文件发布到远程仓库。

  • mvn clean package依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)等7个阶段。

  • mvn clean install依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)、install等8个阶段。

  • mvn clean deploy依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)、install、deploy等9个阶段。

主要区别如下,

  • package命令完成了项目编译、单元测试、打包功能,但没有把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库

  • install命令完成了项目编译、单元测试、打包功能,同时把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库,但没有布署到远程maven私服仓库

  • deploy命令完成了项目编译、单元测试、打包功能,同时把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库

打包一个项目时,需要进入项目所在位置,然后和pom.xml同级使用命令,如下图。

在这里插入图片描述

本篇就只讲这么多了,这里只能算是一个大概,细节东西需要根据事实情况来分析,这里就不讲了。

这里有两篇文章介绍如何发布开源jar包到远程仓库:

发布jar包到maven中央仓库(个人域名)

发布jar包到maven中央仓库(无个人域名)

快速构建项目

Spring组件化构建

SpringBoot组件化构建

SpringCloud服务化构建

喜欢这篇文章么,喜欢就加入我们一起讨论Java Web吧!
品茗IT交流群

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值