要运行maven,必须要有 JDK ,maven 是由 Java 语言编写的

一、JDK 的安装

ORACLE 官网下载JDK jdk-8u231-linux-x64.tar.gz

上传 JDK 至 linux 服务器

创建文件夹

[root@VM_0_17_centos /]# cd /opt
[root@VM_0_17_centos opt]# mkdir jdk

使用 xftp 工具上传压缩文件

  • 连接 Linux 服务器

  • 如果文件夹权限不够,可能导致文件上传失败,需要修改文件夹权限
# 修改 opt 文件夹权限
chmod 777 /opt
# 修改 opt 文件夹及其子目录的权限
chmod -R 777 /opt

安装 JDK

上传成功后解压文件

[root@VM_0_17_centos jdk]# tar -zxvf jdk-8u231-linux-x64.tar.gz 
[root@VM_0_17_centos jdk]# ll
total 189608
drwxr-xr-x 7   10  143      4096 Oct  5 18:13 jdk1.8.0_231
-rw-r--r-- 1 root root 194151339 Nov  6 20:07 jdk-8u231-linux-x64.tar.gz

配置 JDK 环境变量

在/etc/profile文件末尾追加下面几行

 [root@VM_0_17_centos jdk]# vi /etc/profile
# 进入 vi 模式后 输入两个大 G ,定位到 文件末行
  • 追加变量

输入 i 进入编辑模式

export JAVA_HOME=/opt/jdk/jdk1.8.0_231
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

按 Esc 键 ,输入 **:wq **保存并退出 vi

  • 使环境变量生效
[root@VM_0_17_centos jdk]# source /etc/profile
  • 检查JDK是否生效
[root@VM_0_17_centos jdk]# java -version
java version "1.8.0_231"
Java(TM) SE Runtime Environment (build 1.8.0_231-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.231-b11, mixed mode)

二、maven 的安装

下载 maven Apache Maven 3.6.2

下载 maven

  • linux 使用 wget 命令下载 maven
[root@VM_0_17_centos opt]# mkdir maven
[root@VM_0_17_centos opt]# cd maven
[root@VM_0_17_centos maven]# wget http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.2/binaries/apache-maven-3.6.2-bin.tar.gz

创建文件夹,并切换到该目录下,wget 会把地址对应的文件下载到该目录

安装 maven

  • 解压安装文件
[root@VM_0_17_centos maven]# ls
apache-maven-3.6.2-bin.tar.gz
[root@VM_0_17_centos maven]# tar -zxvf apache-maven-3.6.2-bin.tar.gz 
  • 创建一个软连接指向apache-maven-3.6.2目录
[root@VM_0_17_centos maven]# ln -s apache-maven-3.6.2 maven
[root@VM_0_17_centos maven]# ll
total 8936
drwxr-xr-x 6 root root    4096 Nov  6 21:40 apache-maven-3.6.2
-rw-r--r-- 1 root root 9142315 Sep  3 05:43 apache-maven-3.6.2-bin.tar.gz
lrwxrwxrwx 1 root root      18 Nov  6 21:43 maven -> apache-maven-3.6.2

ln –s 源文件 目标文件 是linux中的一个命令,windows中的快捷方式都知道吧,这个相当于给源文件创建了一个快捷方式,快捷方式的名称叫做目标文件。

ln -s apache-maven-3.6.2 maven是指给apache-maven-3.6.2创建了一个快捷方式maven,访问maven就相当于访问apache-maven-3.6.2。

此处为什么需要用快捷方式?

以后升级maven更方便一些,以后如果我们需要将maven升级到最新的版本,比如3.7,那么只需下载3.7到当前目录,再运行一下ln -s apache-maven-3.7 maven命令修改一下快捷方式的指向就行了,很方便。

配置 maven 环境

在/etc/profile文件末尾追加下面几行

export M2_HOME=/opt/maven/maven
export PATH=$M2_HOME/bin:$PATH
  • 使环境变量生效
[root@VM_0_17_centos maven]# source /etc/profile
  • 查看 maven 是否生效
[root@VM_0_17_centos maven]# mvn -v
Apache Maven 3.6.2 (40f52333136460af0dc0d7232c0dc0bcf0d9e117; 2019-08-27T23:06:16+08:00)
Maven home: /opt/maven/maven
Java version: 1.8.0_231, vendor: Oracle Corporation, runtime: /opt/jdk/jdk1.8.0_231/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-957.21.3.el7.x86_64", arch: "amd64", family: "unix"

配置 setting.xml

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">   <localRepository>/opt/maven/repository</localRepository>   <pluginGroups>   </pluginGroups>   <proxies>   </proxies>   <servers>   </servers>   <mirrors>
    <mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
<mirror>
<id>ui</id>
<mirrorOf>central</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://uk.maven.org/maven2/</url>
</mirror>
<mirror>
<id>jboss-public-repository-group</id>
<mirrorOf>central</mirrorOf>
<name>JBoss Public Repository Group</name>
<url>http://repository.jboss.org/nexus/content/groups/public</url>
</mirror>
<mirror>
<id>repo2</id>
<mirrorOf>central</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://repo2.maven.org/maven2/</url>
</mirror>
<mirror>
<id>OSChina</id>
<name>OSChina Central</name>
<url>http://maven.oschina.net/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
<mirror>
<id>nexus-osc-thirdparty</id>
<mirrorOf>thirdparty</mirrorOf>
<name>Nexus osc thirdparty</name>
<url>http://maven.oschina.net/content/repositories/thirdparty/</url>
</mirror>
  </mirrors>   <profiles>
<profile>    
<id>jdk-1.8</id>    
<activation>    
<activeByDefault>true</activeByDefault>    
<jdk>1.8</jdk>    
</activation>    
<properties>    
<maven.compiler.source>1.8</maven.compiler.source>    
<maven.compiler.target>1.8</maven.compiler.target>    
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>    
</properties>    
</profile> 
  </profiles> </settings>

参考链接 :https://mp.weixin.qq.com/s/7LGakBJvQUjiVEUgdSe_Aw

Linux 下 maven 的下载、上传与安装的更多相关文章

  1. linux下常用FTP命令 上传下载文件【转】

    1. 连接ftp服务器 格式:ftp [hostname| ip-address]a)在linux命令行下输入: ftp 192.168.1.1 b)服务器询问你用户名和密码,分别输入用户名和相应密码 ...

  2. Linux下远程备份、上传工程,重启服务器

    Linux下远程备份.上传工程,重启服务器 Linux服务器实现远程,原项目的备份.删除,新项目上传,以及远程重启服务器!分成一个主shell调用三个shell文件步骤完成.mainsh.sh一次按顺 ...

  3. linux下通过命令行上传文件到百度网盘

    一.环境: centos release 6.9 python 2.7.13 二.安装工具bypy sudo pip install bypy 三.使用bypy 3.1 授权 [root@ineedl ...

  4. linux 下ftp几种上传和下载方式

    1. ftp自动登录批量下载文件. 复制代码代码如下: #####从ftp服务器上的/home/data 到 本地的/home/databackup#####!/bin/bashftp -n<& ...

  5. 如何在linux下使用git管理上传代码&误删文件修复

    首先需要安装git,sudo apt-get install git,这时就可以下载代码了. 然后先在gituhub上新建一个仓库,然后先在本地建一个git目录,git init 然后再配置用户名和邮 ...

  6. linux下将本地文件上传到github中?

    今天编写一份Python基础代码,经过Linux上传到github上,遇到点问题,已经解决 1.首先sudo su 进入root 用户 2.ls 检查出当前文件下有什么文件 3. cd 进入你将要上传 ...

  7. linux下 利用 rz 命令上传文件

    1. 如何安装? 1)编译安装  root 账号登陆后,依次执行以下命令: # cd /tmp # wget http://www.ohse.de/uwe/releases/lrzsz-0.12.20 ...

  8. Linux下使用shell实现上传linux下某个目录下所有文件到ftp

    首先我们需要搞清楚单个文件怎么上传,把这个单文件上传到ftp上的实现命名为一个:upload_to_ftp_command.sh 之后,需要弄清楚怎么实现遍历一个目录下的所有文件的,把这个遍历某个目录 ...

  9. Linux 终端访问 FTP 及 上传下载 文件

    今天同事问我一个问题,在Linux 下访问FTP,并将文件上传上去. 我之前一直是用WinSCP工具的. 先将文件从linux copy到windows下,然后在传到ftp上.google 一下. 方 ...

随机推荐

  1. 关于SkyApm测试部署。

    这个是skyapm的github : https://github.com/SkyAPM/SkyAPM-dotnet 它依赖于skywalking . 我是用docker去部署的.因为这样我的系统会干 ...

  2. 2019暑假Java学习笔记(三)

    目录 面向对象 对象 构造方法 引用与对象实例 static final 封装 this 继承 super 方法重载与重写 多态 抽象类 接口 内部类 成员内部类 静态内部类 局部内部类 匿名内部类 ...

  3. #C++初学记录(STL容器以及迭代器)

    STL初步 提交ACM会TLE /仅以学习STL与迭代器使用 C. Cards Sorting time limit per test1 second memory limit per test256 ...

  4. #C++初学记录(typedef和define)

    typedef的用法 typedef关键字可以用于给数据类型定义一个别名,即可以给long long 定义成ll,也可以给结构体定义,当你定义了一个结构体时,每次创建一个结构体都要使用struct+结 ...

  5. 【转】Android ROM分析(1):刷机原理及方法

    一.刷机原理 android系统启动的时候,首先会进行一些诸如硬件自检之类的操作,这些操作完成以后(至少它应该知道当前的机器有没有电),会检查一下当前手机按键的状态(接下来就是所谓刷机模式切换了,不同 ...

  6. vs2015编译OBS-Studio

    编译之前的准备: 系统win10 QT5.7.0 VS2015 CMake 3.13.4 obs vs2015环境依赖包:dependencies2015 obs-studio 24.0 ====== ...

  7. Java线程的wait(), notify()和notifyAll()

    Java线程生命周期 类java.lang.Thread包含一个静态的State enum用于定义每种可能的状态. 在任意的时间点, 线程会处于以下的状态之一: NEW – 新创建的线程, 还未启动( ...

  8. Qt QSplitter任意拆分窗口

    Qt拆分窗口可以使用QSplitter,也可以使用比较容易使用布局控件来完成,本文章给出使用QSplitter分割窗口的例子. QSplitter 继承自QFrame,而QFrame又继承自QWidg ...

  9. js object 添加键值

    第一种方法let obj ={"name":"tom","age":16}let key = "id";let valu ...

  10. 关于LPC MUD的关键字及其它重要术语

    关于LPMUD的关键字及其它重要术语 前面的内容中对LPC语言和 lpmud 做了介绍,也完成了学习开发的准备工作,为了更好的学习,这里先对基本术语做一个说明. 关键字(Keywords):LPC语言 ...