如何在ubuntu中为maven3永久设置环境变量PATH和M2_HOME?


30

我已经下载了最新的apache-maven3.zip文件并将其解压缩到以下文件夹:中 /home/gaurav/Java/maven3

我不知道如何为Maven设置环境变量-例如PATH和M2_HOME。

我尝试了以下事情:

export M2_HOME=/home/gaurav/Java/maven3

export PATH= /home/gaurav/Java/maven3/bin:${PATH}

设置完之后,我跑了mvn --version,它运行正常。

但是,下次我启动机器并键入时$M2_HOME,它没有显示路径变量的详细信息,也没有mvn --version执行。

请帮助我解决在Ubuntu中永久设置环境变量的问题。


看看这个
米奇

Answers:


22

更新: Eliah向我指出,如果您不是动态地构建环境变量,则应将它们存储在中/etc/environment。要将目录设置M2_HOME并添加bin到中PATH,您可以进行/etc/environment如下修改。确保您不只是复制/粘贴,因为/etc/environment文件的PATH变量可能与我的不同。

M2_HOME="/home/gaurav/Java/maven3"
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/gaurav/Java/maven3/bin"


替代方法(不推荐): 像Mitch所说的那样,您需要编辑配置文件才能永久更改PATH。我选择编辑/etc/profile配置文件,因为它适用于整个系统。要编辑此文件,请运行sudo nano /etc/profile以下是我的配置文件中的相关摘录:

# /etc/profile: system-wide .profile file for the Bourne shell (sh(1))
# and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).

JAVA_HOME=/usr/lib/jvm/java-6-oracle/
export JAVA_HOME

M2_HOME=/usr/local/apache-maven/apache-maven-3.0.4
export M2_HOME
M2=$M2_HOME/bin
export M2

PATH=$PATH:$JAVA_HOME
PATH=$PATH:$M2
export PATH

1
任何理由不只是把JAVA_HOMEM2_HOME以及M2在定义/etc/environment,而不是?
Eliah Kagan

从语义上讲,这绝对是正确的做法(因为/etc/environment建议存储系统范围环境变量的位置)。但是我只想将所有环境变量都放在同一位置。如果有一种方法可以PATH仅使用动态构建变量/etc/environment,我将立即切换。
康纳·布林顿

1
由于这是您的动力,因此/etc/environment考虑到将所有环境变量分配放在同一位置的目标不一定是该OP的目标,也不是其他大多数提出此问题的人的目标。另外,您可能需要重新检查该目标:在大多数情况下,应该在用户帐户级别添加环境变量,以仅影响单个用户。(然后它们可以进入~/.pam_environment~/.profile。)确实,某些环境变量分配是动态的,必须在脚本中。
Eliah Kagan

@ connor.brinton尽管我说使用上述方法(编辑/etc/environment)的路径仍未设置
Kasun Siyambalapitiya

3

您必须以root身份将PATH添加到/etc/bash.bashrc。

从根开始执行以下步骤:

  1. sudo nano /etc/bash.bashrc
  2. 在文件末尾,添加以下行:

    PATH=/home/computer/application/bin:$PATH  
    

这只是一个伪地址。根据所需的地址进行更改,然后在:$PATH其后添加。

这是针对Ubuntu的。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.