本文主要采用图文混编的形式详细讲解Mac环境下如何下载安装配置及使用Maven
Maven 是一种用来管理Java项目的工具, 能够管理项目的构建、报告和文档,处理一个具体的项目所涉及的各种任务。
Maven工程结构和内容被定义在一个名为pom.xml的文件中,是 Project Object Model (POM) 的简称,此文件是整个 Maven 系统的基础组件,包含了Maven用于管理该项目的所有配置信息。
传统的项目在开发时我们需要自己导入各种jar包,特别是当项目较大的时候光导入jar包就会占用巨大的空间,同时当多人协作开发时还有可能因为版本的不同等多种原因引发各种依赖冲突,而Maven的出现替我们很好的解决了这个问题,它采取配置依赖信息到pom.xml的文件中的方式根据不同的配置自动的在编译运行和测试的时候从本地仓库中导入相应的依赖,同时它也使得项目的依赖被统一管理。
当创建Maven工程时Maven会为我们创建默认的工程结构,开发者只需要按约定合理的放置文件及配置依赖信息就可以进行正常开发。Maven项目规定了源码文件、资源文件、测试文件、输出文件等的默认配置,简单的说就是把这些文件规定放在对应的路径下方便管理,如下表所示,假设${basedir}表示工程根目录:
项目工程的路径 | 存放的文件类型 |
---|---|
${basedir}/src/main/java | 项目源码 |
${basedir}/src/main/resources | 资源文件,比如.properties文件 |
${basedir}/src/main/webapp | web项目相关资源文件,比如web.xml |
${basedir}/src/test/java | 测试用的源码 |
${basedir}/src/test/resources | 测试用的资源文件 |
${basedir}/target/classes | 编译后的文件 |
${basedir}/target/test-classes | 编译后用于测试的文件 |
下载地址:http://maven.apache.org/download.cgi
小白说明:
1.Binary VS Source
Binary开头的表示编译之后的二进制文件
Source开头的表示可以查看源代码的文件
2. zip archive VS tar.gz archive
zip archive为Windows环境下使用的版本
tar.gz archive为Linux、macOS系统下使用的版本
此处下载如图第一个版本
找到如下的文件,修改一下镜像的位置
小白说明:
为什么要修改镜像是因为我们默认每次是从Maven的中央仓库下载我们需要的依赖,然而中央仓库服务器在国外,由于众所周知的原因,我们的下载速度会非常缓慢,于是这时我们就可以利用镜像来解决下载依赖过慢的问题,阿里为我们提供了公共的Maven镜像库,我们就来配置它作为我们的中央仓库的镜像(当然你也可以指定别的Maven镜像库,这里笔者就是喜欢阿里)
<mirror>
<id>nexusid>
<mirrorOf>*mirrorOf>
<url>http://maven.aliyun.com/nexus/content/groups/public/url>
mirror>
<mirror>
<id>nexus-public-snapshotsid>
<mirrorOf>public-snapshotsmirrorOf>
<url>http://maven.aliyun.com/nexus/content/repositories/snapshots/url>
mirror>
同时我们也可以选择自己的想要的本地仓库地址,用来自定义存放Maven下载的文件所在的位置:
安装:
将刚才解压的文件放到自己想存放的路径下
配置:
1.打开终端输入命令 open .bash_profile编辑环境变量配置文件
2.在环境变量中新增如下配置
MAVEN_HOME=/Users/ian/Maven/apache-maven-3.6.0
export MAVEN_HOME
PATH=${PATH}:${MYSQL_HOME}/bin:${MAVEN_HOME}/bin
3.保存文件退出,输入 source .bash_profile,按下Enter键使bash_profile生效
4.输入 mvn -v,结果如下图所示即表明配置成功
小白说明:
1.步骤2的MYSQL_HOME为笔者电脑上自己的其他配置,具体的情况根据自己电脑配置的实际情况来
2.如果配置环境变量的过程中碰到错误: 找不到或无法加载主类 org.codehaus.plexus.classworlds.launcher.Launcher,考虑一下是不是自己的安装包下载错了,应该下载二进制源的压缩包
1.在Eclipse的菜单栏中选中help,点击install new software
2.点击add,输入m2e http://download.eclipse.org/technology/m2e/releases
3.选中Maven Intergration for Eclipse插件,点击Next继续安装
小白说明:
此处的安装过程有可能会执行的非常的慢,根本原因是在安装Maven时,同时也在检查更新其他插件的最新版,如果对其他插件暂时没有需求可以选择在安装插件时注意Sites的设置点击上图Available Software Sites只勾选要安装的插件,取消勾选 Contact all update sites during install to find required software.
4.在菜单中依次找到eclipse -> prefereces -> Maven -> Installations -> add, 选择Maven的安装目录并点击Finish.
5.eclipse -> prefereces -> Maven -> User settings检查User settings,这里面有settings.xml文件的位置和仓库的位置,系统自动识别,你也可以更换settings.xml这个路径,而仓库的路径是根据settings.xml中的设置自动识别的。
1.file -> new -> Project -> Maven Project如下图:
2.Next,选择maven-archetype-webapp,如下图:
小白说明:
Group Id:为团体,公司,小组,组织,或者其它等团体的一个团体标识,一般的约定是以创建这个项目的组织名称的逆向域名开头。例如来自Apache Software的项目有以org.apache开头的groupId
Artifact Id:在Group Id下的表示一个单独项目的唯一标识符。(即eclipse的项目名称)
Version:一个项目的特定版本。发布的项目有一个固定的版本标识来指向该项目的某一个特定的版本,而正在开发中的项目可以用一个特殊的标识,这种标识给版本加上一个“SNAPSHOT”的标记。
小白说明:
这个时候因为缺少servlet的jar而报错,只需要在pom.xml中加入相关的jar即可
以下是代码:
<dependency>
<groupId>javax.servletgroupId>
<artifactId>javax.servlet-apiartifactId>
<version>4.0.1version>
<scope>providedscope>
dependency>
5.以上步骤执行完后项目的目录结构还是不对的,解决方法,Properties -> Java Build Path -> JRE System Library -> edit -> Workspace default JRE -> Finish即可生成正确的目录结构
6.修改pom.xml文件
项目需要什么依赖,此时我们就到该文件下添加相对应的配置信息,这里以netty为例:
<dependency>
<groupId>io.nettygroupId>
<artifactId>netty-allartifactId>
<version>4.1.31.Finalversion>
dependency>
每次更新完pom.xml文件后Maven项目会自动检测更新下载新的依赖,这里的groupId+artifactId唯一定位了依赖仓库里的MySQL的驱动jar包,version 表示其版本,scope 表示该依赖的范围。在Maven项目中,编译、测试和运行使用的是不同的classpath,runtime表示该项目在编译时不导入该依赖,而在测试和运行项目时则导入
小白说明:
可以在这个网址里面找到自己对应jar的坐标和版本信息
http://www.mvnrepository.com/
到此我们的Maven项目就已经建立成功了,接下来只需要安装规定在src/main/java下放置源码,在src/main/resources下放置资源文件就行了
此次关于Maven的下载安装配置及使用就结束啦,如想进一步了解maven的其他基本概念可以参看笔者的另一篇博文
https://blog.csdn.net/weixin_43801935/article/details/86232486
写文章不易喜欢就点个赞吧~