在Windows上安装Maven
- 检查系统上的JDK环境,通过下面的命令,在cmd中输入:
echo %JAVA_HOME%
java -version
如果没有安装JDK,则需要到oracle官网下载JDK,然后在环境变量中进行配置。
- 下载Maven
直接去Maven官网下载,它是Apache的子项目,开源免费的。具体版本根据自己的需求来选择。
Windows系统上,下载 bin.zip结尾的包。src.zip结尾的包,包含源代码。 - 本地安装
解压刚刚下载的zip包,解压在自己指定的路径即可。
修改Windows的环境变量,打开的方式如下两种:
计算机 -> 右键选择属性 -> 高级系统设置 -> 环境变量
或者
控制面板 -> 右上角搜索框输入env -> 点击 编辑账户的环境变量
- 如果没有添加系统变量的权限,则操作用户变量。
新建用户变量,变量名:M2_HOME 变量值:Maven的安装路径,例如我的:E:\devtools\apache-maven-3.3.9 - 修改名为Path的用户变量,在变量值得末尾加上%M2_HOME%\bin;。
注意:多个值需要用分号隔开。 - 验证刚刚的配置,打开cmd输入:
echo %M2_HOME% mvn -v 检查windows是否可以找到正确的mvn脚本,如果出现 版本信息,就说明成功了。
- 升级Maven
手动升级,需要再次去Maven官网下载新的版本,本地解压,然后只用修改M2_HOME环境变量的变量值,指定为新的版本路径即可。
基于Unix系统上的安装
tar.gz包从官网下载好
解压
tar -xzv -f [**.tar.gz] -C [解压的路径]
例如:
tar -xzv -f apache-maven-3.6.3-bin.tar.gz /User/maven/
配置环境变量
vi ~/.bash_profile
增加
M2_HOME=[解压的路径]
例如:
M2_HOME=/User/maven/apache-maven-3.6.3
在PATH后追加M2_HOME
PATH=$PATH:$M2_HOME/bin
export PATH
修改保存后,执行 source ~/.bash_profile
测试
mvn -v
安装目录分析
打开Maven的安装目录,有下列的文件夹:
文件夹名 | 介绍 |
---|---|
bin | 该目录包含了mvn运行的脚本 |
boot | 该目录只包含一个文件,是一个类加载器框架 |
conf | 该目录用来存放配置文件,比较重要文件:settings.xml |
lib | 该目录包含了所有Maven运行时需要的Java类库 |
具体的树结构和作用如下:
E:.
│ LICENSE Maven使用的软件许可证
│ NOTICE 记录Maven包含的第三方软件
│ README.txt 包含了简单介绍,包括安装需求和安装指令等
│
├─bin
│ m2.conf 是classworlds的配置文件
│ mvn 是基于UNIX平台的shell脚本
│ mvn.cmd 是基于Windows平台的脚本。在命令行中输入任何mvn命令,都是调用它和上一个
│ mvnDebug 是基于UNIX平台的shell脚本
│ mvnDebug.cmd 是基于Windows平台的脚本。比mvn.cmd只多了一条MAVEN_DEBUG_OPTS配置
│ mvnyjp
│
├─boot
│ plexus-classworlds-2.5.2.jar 一个类加载器框架,相当于默认的类加载器
│
├─conf
│ │ settings.xml 重要的配置文件
│ │ toolchains.xml
│ │
│ └─logging
│ simplelogger.properties
│
└─lib
│ aether-api-1.0.2.v20150114.jar
│ aether-api.license
│ aether-connector-basic-1.0.2.v20150114.
│ aether-connector-basic.license
│ aether-impl-1.0.2.v20150114.jar
│ aether-impl.license
│ aether-spi-1.0.2.v20150114.jar
│ aether-spi.license
│ aether-transport-wagon-1.0.2.v20150114.
│ aether-transport-wagon.license
│ aether-util-1.0.2.v20150114.jar
│ aether-util.license
│ aopalliance-1.0.jar
│ cdi-api-1.0.jar
│ cdi-api.license
│ commons-cli-1.2.jar
│ commons-io-2.2.jar
│ commons-lang-2.6.jar
│ commons-lang3-3.4.jar
│ commons-lang3.license
│ guava-18.0.jar
│ guice-4.0-no_aop.jar
│ javax.inject-1.jar
│ jsoup-1.7.2.jar
│ jsoup.license
│ jsr250-api-1.0.jar
│ jsr250-api.license
│ maven-aether-provider-3.3.9.jar
│ maven-aether-provider.license
│ maven-artifact-3.3.9.jar
│ maven-artifact.license
│ maven-builder-support-3.3.9.jar
│ maven-builder-support.license
│ maven-compat-3.3.9.jar
│ maven-compat.license
│ maven-core-3.3.9.jar
│ maven-core.license
│ maven-embedder-3.3.9.jar
│ maven-embedder.license
│ maven-model-3.3.9.jar
│ maven-model-builder-3.3.9.jar
│ maven-model-builder.license
│ maven-model.license
│ maven-plugin-api-3.3.9.jar
│ maven-plugin-api.license
│ maven-repository-metadata-3.3.9.jar
│ maven-repository-metadata.license
│ maven-settings-3.3.9.jar
│ maven-settings-builder-3.3.9.jar
│ maven-settings-builder.license
│ maven-settings.license
│ org.eclipse.sisu.inject-0.3.2.jar
│ org.eclipse.sisu.inject.license
│ org.eclipse.sisu.plexus-0.3.2.jar
│ org.eclipse.sisu.plexus.license
│ plexus-cipher-1.7.jar
│ plexus-cipher.license
│ plexus-component-annotations-1.6.jar
│ plexus-interpolation-1.21.jar
│ plexus-sec-dispatcher-1.3.jar
│ plexus-sec-dispatcher.license
│ plexus-utils-3.0.22.jar
│ slf4j-api-1.7.5.jar
│ slf4j-api.license
│ slf4j-simple-1.7.5.jar
│ slf4j-simple.license
│ wagon-file-2.10.jar
│ wagon-file.license
│ wagon-http-2.10-shaded.jar
│ wagon-http-shared-2.10.jar
│ wagon-http-shared.license
│ wagon-http.license
│ wagon-provider-api-2.10.jar
│ wagon-provider-api.license
│
└─ext
README.txt
settings.xml文件
从上可知,在conf文件夹下,有一个settings.xml文件。可以直接修改该文件,就能在机器上全局的定制Maven的行为。
maven的配置文件settings.xml存在于两个地方:
- 安装的地方:${M2_HOME}/conf/settings.xml
- 用户的目录:${user.home}/.m2/settings.xml
前者被叫做全局配置,对操作系统的所有使用者生效;
后者被称为用户配置,只对当前操作系统的使用者生效。
如果两者都存在,它们的内容将被合并,并且用户范围的settings.xml会覆盖全局的settings.xml。
Maven安装后,用户目录下不会自动生成settings.xml,只有全局配置文件。如果需要创建用户范围的settings.xml,可以将安装路径下的settings复制到目录${user.home}/.m2/。Maven默认的settings.xml是一个包含了注释和例子的模板,可以快速的修改它来达到你的要求。
最佳实践:
一般情况下,我们是偏向于copy该文件到用户目录下(~/.m2/), ~表示用户目录,然后进行修改。例如:C:\Users\Administrator.m2
全局配置一旦更改,所有的用户都会受到影响,而且如果maven进行升级,所有的配置都会被清除,所以要提前复制和备份${M2_HOME}/conf/settings.xml文件,一般情况下不推荐配置全局的settings.xml。
关于settings.xml的详细说明,也可以参考官方描述:
用户目录下,还有个名为repository的文件夹,这是Maven的本地仓库。
测试,在cmd中执行下面的命令,就可以看到Maven在下载相关插件和jar包到repository文件夹中
mvn help:system
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/155850.html