zoukankan      html  css  js  c++  java
  • linux安装maven报错

    执行mvn命令,报错如下:

      -Dmaven.multiModuleProjectDirectory system property is not set.

    本来linux 上装的maven是A版本,但是现在需要改成B版本了。安装解压,配置环境变量后,使用mvn -v 发现,仍然是A版本。

    后来发现每次source完,PATH变量都会新增一下,问题就出在这里,(linux配置环境变量出错)如下图:


    导致这个问题的原因是,在配置环境变量的时候,是这么配置的
      export PATH=$PATH:$JAVA_HOME/bin:$M2_HOME/bin

    应该把 $PATH 放到环境变量的最后,这样就就算会覆盖,也会用前边的配置覆盖后边的配置
      export PATH=$JAVA_HOME/bin:$M2_HOME/bin:$PATH

    (理论上就算$PATH放到前面,source完也不应该出错的,但这个底层原因不懂了,这里也不研究了)


     但是还有一个问题,就是现在环境变量已经错了,该怎么办?

    我这边就是,先配置成这样
      export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:$M2_HOME/bin:$JAVA_HOME/bin
      source完以后,再设置成
      export PATH=$JAVA_HOME/bin:$M2_HOME/bin:$PATH

    突然发现我好傻逼啊,自己半天没看出来。感谢评论里“东北小狐狸”的说明

    JAVA_HOME和M2_HOME是变量,在export PATH时,应该使用$符进行取值
    例:

    export JAVA_HOME=/opt/jdk
    export M2_HOME=/opt/maven_repo
    export PATH=$JAVA_HOME/bin:$M2_HOME:$PATH
    

    export的作用是将此变量作为多用户线程可见的环境变量,如果不export,则仅当前登录用户可见,且子线程无法接收到此变量。

    原创文章,欢迎转载,转载请注明出处!

  • 相关阅读:
    GitHub简单教程
    Git学习笔记
    Bootstrap学习笔记系列7-----Bootstrap简单背景CSS及其他辅助类
    Bootstrap学习笔记系列6-----Bootstrap文本显示
    Bootstrap学习笔记系列5------Bootstrap图片显示
    bootstrap学习笔记系列4------bootstrap按钮
    Bootstrap学习笔记系列3-------Bootstrap简单表单显示
    证件照制作:使用PS打印一寸照片
    CentOS7.6安装JDK(Openjdk)
    CentOS7.6安装JDK(Openjdk)
  • 原文地址:https://www.cnblogs.com/acm-bingzi/p/mvn_export.html
Copyright © 2011-2022 走看看