Linux的Maven环境安装和配置

为了更好地了解Maven对Java 项目的构建、依赖管理,所以这里准备自己配置linux的Maven环境,前文已经安装好了JDK,可以查看安装JDK。这里安装Maven。

  1. 下载Maven:下载地址
    后缀为tar.gz的是Linux和Mac版本,后缀为zip的是Windows版本
    在这里插入图片描述

  2. 解压,apache-maven-3.6.2-bin.tar.gz为安装包,/opt/module/为安装目录
    [root@walter101 software]# tar -zxvf apache-maven-3.6.2-bin.tar.gz -C /opt/module/

  3. 配置环境变量
    编辑/etc/profile,在末尾添加MAVEN_HOME环境变量:

    export MAVEN_HOME=/opt/module/apache-maven-3.6.2
    export PATH=${PATH}:${MAVEN_HOME}/bin
    

    结合上次安装JDK是的环境变量,则为:

    JAVA_HOME=/opt/module/jdk1.8.0_221
    JRE_HOME=/opt/module/jdk1.8.0_221/jre
    CLASSPATH=.:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar:${JRE_HOME}/lib
    MAVEN_HOME=/opt/module/apache-maven-3.6.2
    PATH=${PATH}:${JAVA_HOME}/bin:${MAVEN_HOME}/bin
    export PATH JAVA_HOME CLASSPATH MAVEN_HOME
    

    使环境变量生效:
    [root@walter100 apache-maven-3.6.2]# source /etc/profile

  4. 检查Maven是否安装成功

    [root@walter100 apache-maven-3.6.2]# mvn -v
    Apache Maven 3.6.2 (40f52333136460af0dc0d7232c0dc0bcf0d9e117; 2019-08-27T11:06:16-04:00)
    Maven home: /opt/module/apache-maven-3.6.2
    Java version: 1.8.0_221, vendor: Oracle Corporation, runtime: /opt/module/jdk1.8.0_221/jre
    Default locale: en_US, platform encoding: UTF-8
    OS name: "linux", version: "3.10.0-957.el7.x86_64", arch: "amd64", family: "unix"
    
  5. 配置Maven config/seetings.xml
    指明本地Maven库:

    <localRepository>/opt/module/apache-maven-3.6.2/repository</localRepository>
    

    国内用户需要配置国内下载依赖包的镜像库,比如阿里云:

    <mirror>
      <id>alimaven</id>
      <name>aliyun maven</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
      <mirrorOf>central</mirrorOf>
    </mirror>
    

    如果需要,请设置代理:

    <proxy>
      <id>optional</id>
      <active>true</active>
      <protocol>http</protocol>
      <username>proxyuser</username>
      <password>proxypass</password>
      <host>proxy.host.net</host>
      <port>80</port>
      <nonProxyHosts>local.net|some.host.com</nonProxyHosts>
    </proxy>
    
  6. 测试一下,生成一个项目

    [root@walter100 project]# mvn archetype:generate
    ......这里会下载很多包,可能会失败(我就失败了),那么在运行一下上条命令,可能就能成功(我就成功了)。
    [INFO] No archetype defined. Using maven-archetype-quickstart (org.apache.maven.archetypes:maven-archetype-quickstart:1.0)
    Choose archetype:
    1: internal -> org.apache.maven.archetypes:maven-archetype-archetype (An archetype which contains a sample archetype.)
    2: internal -> org.apache.maven.archetypes:maven-archetype-j2ee-simple (An archetype which contains a simplifed sample J2EE application.)
    3: internal -> org.apache.maven.archetypes:maven-archetype-plugin (An archetype which contains a sample Maven plugin.)
    4: internal -> org.apache.maven.archetypes:maven-archetype-plugin-site (An archetype which contains a sample Maven plugin site.
      This archetype can be layered upon an existing Maven plugin project.)
    5: internal -> org.apache.maven.archetypes:maven-archetype-portlet (An archetype which contains a sample JSR-268 Portlet.)
    6: internal -> org.apache.maven.archetypes:maven-archetype-profiles ()
    7: internal -> org.apache.maven.archetypes:maven-archetype-quickstart (An archetype which contains a sample Maven project.)
    8: internal -> org.apache.maven.archetypes:maven-archetype-site (An archetype which contains a sample Maven site which demonstrates
      some of the supported document types like APT, XDoc, and FML and demonstrates how
      to i18n your site. This archetype can be layered upon an existing Maven project.)
    9: internal -> org.apache.maven.archetypes:maven-archetype-site-simple (An archetype which contains a sample Maven site.)
    10: internal -> org.apache.maven.archetypes:maven-archetype-webapp (An archetype which contains a sample Maven Webapp project.)
    Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): 7: (缺省默认为7,quickstart项目)
    ......又会下载一些包
    Define value for property 'groupId': com.toastmaster.sstmc (一般命名为com.公司名)
    Define value for property 'artifactId': SmartOfficer(项目名)
    Define value for property 'version' 1.0-SNAPSHOT: : (缺省默认为1.0-SNAPSHOT)
    Define value for property 'package' com.toastmaster.sstmc: : (缺省默认为com.toastmaster.sstmc)
    Confirm properties configuration:
    groupId: com.toastmaster.sstmc
    artifactId: SmartOfficer
    version: 1.0-SNAPSHOT
    package: com.toastmaster.sstmc
    Y: : Y(缺省为Y,确认以上信息)
    [INFO] ----------------------------------------------------------------------------
    [INFO] Using following parameters for creating project from Old (1.x) Archetype: maven-archetype-quickstart:1.1
    [INFO] ----------------------------------------------------------------------------
    [INFO] Parameter: basedir, Value: /opt/project
    [INFO] Parameter: package, Value: com.toastmaster.sstmc
    [INFO] Parameter: groupId, Value: com.toastmaster.sstmc
    [INFO] Parameter: artifactId, Value: SmartOfficer
    [INFO] Parameter: packageName, Value: com.toastmaster.sstmc
    [INFO] Parameter: version, Value: 1.0-SNAPSHOT
    [INFO] project created from Old (1.x) Archetype in dir: /opt/project/SmartOfficer
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS(build成功)
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time:  04:25 min
    [INFO] Finished at: 2019-09-16T10:23:32-04:00
    [INFO] ------------------------------------------------------------------------
    
  7. Done!Maven安装成功,环境配置无误。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值