9.1 简介
安装maven之前,需要去maven官网下载对应的maven.tar.gz文件,具体参考这篇 文章 。
9.2 环境
日期: 2021.10.14
版本: ubuntu20.04
9.3 安装
yun@yun-Inspiron-7572:/下载$ sudo cp apache-maven-3.8.3-bin.tar.gz /opt
yun@yun-Inspiron-7572:/opt$ sudo tar -xzvf apache-maven-3.8.3-bin.tar.gz
yun@yun-Inspiron-7572:/opt$ sudo rm apache-maven-3.8.3-bin.tar.gz
提示: 上述命令,是将文件复制到 /opt 目录下,并解压,然后删除原本的压缩包。
9.4 环境变量
输入以下命令,添加系统环境变量:
sudo vim /etc/profile
提示: 键盘输入 i 才能进行编辑。
然后在全文末尾追加如下内容:
# set Maven environment
MAVEN_HOME=/opt/environment/apache-maven-3.8.3
M2_HOME=/opt/environment/apache-maven-3.8.3/bin
PATH=$MAVEN_HOME/bin:$PATH
export MAVEN_HOME M2_HOME PATH
提示: 路径因人而异,编辑完成按 ESC 键,退出编辑。然后输入 :wq ,退出保存,如果无法保存,则输入 :wq! 强制保存退出。
9.5 本地与镜像仓库
maven根目录下创建repository
yun@yun-Inspiron-7572:/opt/apache-maven-3.8.3/conf$ sudo mkdir -p repository
然后编辑con->settings.xml
yun@yun-Inspiron-7572:/opt/environment/apache-maven-3.8.3/conf$ sudo vim settings.xml
在文中修改以下内容:
<localRepository>/opt/environment/apache-maven-3.8.3/repository</localRepository>
提示: 这个是配置本地仓库。
<mirror>
<id>central</id>
<mirrorOf>central</mirrorOf>
<name>aliyun</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
提示: 这里是配置的阿里镜像仓库,但是使用的是windows上的镜像源,并不知道是否能用。具体可以参考这篇 文章 。
9.6 测试
yun@yun-Inspiron-7572:~$ mvn -version
Apache Maven 3.8.3 (ff8e977a158738155dc465c6a97ffaf31982d739)
Maven home: /opt/environment/apache-maven-3.8.3
Java version: 1.8.0_301, vendor: Oracle Corporation, runtime: /opt/environment/jdk1.8.0_301/jre
Default locale: zh_CN, platform encoding: UTF-8
OS name: "linux", version: "5.11.0-27-generic", arch: "amd64", family: "unix"
提示: 出现这种提示,即安装成功。仓库的配置是否成功,当我们使用IDEA中就能体现了。
9.7 拓展
9.7.1 问题
在上面完全安装完maven之后,经过测试也是没问题的。但是当我使用idea打开项目时,需要使用maven导包,maven死活导不进来,但是项目配置又是没问题的。
当使用maven导包,idea提示:
Could not transfer artifact org.apache.httpcomponents:httpclient:pom:4.5.13 from/to central (https://maven.aliyun.com/repository/public): /opt/environment/apache-maven-3.8.3/repository/org/apache/httpcomponents/httpclient/4.5.13/httpclient-4.5.13.pom.part.lock (没有那个文件或目录)
提示: 当时我很奇怪,maven一切配置正常,idea也是。怎么就是导不进来。并且无论是开发工具,还是环境都是新的,不可能有缓存什么的。并且我在windows上,是没有任何问题的,于是,我想会不会linux的某些权限导致的。一番查询之下,果然。
解决方法:
yun@yun-Inspiron-7572:/opt/environment/apache-maven-3.8.3$ sudo chmod -R 777 repository/
提示: 此语句就是给所有用户,开放对此文件夹的读写权限。于是,问题解决了。
不能导包的解决方法,来自这位 大神 。