4
回答
新开centos终端必须source /etc/profile 才能使用mvn?
【腾讯云】校园拼团福利,1核2G服务器10元/月!>>>   

请教一下熟悉centos/linux的童鞋,thx@_@


环境:

centos7, java, mvn都装好了,环境变量也配置了,在终端source /etc/profile 后,java -version, mvn -version也能正常输出。

遇到的问题:

但是新开一个终端窗口后,java -version能用,而mvn -version却显示 bash:mvn 未找到命令...

可执行source /etc/profile 后,又可以正常使用了

其他的机器通过ssh连接到这台centos,直接mvn -version也是正常的

如何解决:

怎么才能在centos这台机子新开一个终端后,不执行source /etc/profile也能正常使用mvn命令呢?

配置信息:

[root@lee lee]# vim /etc/profile

JAVA_HOME=/usr/java/jdk1.8.0_11
JRE_HOME=/usr/java/jdk1.8.0_11/jre
M2_HOME=/usr/local/apache-maven/apache-maven-3.2.2
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$M2_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME M2_HOME PATH CLASSPATH

[root@lee lee]# mvn -version
Apache Maven 3.2.2 (45f7c06d68e745d05611f7fd14efb6594181933e; 2014-06-17T21:51:42+08:00)
Maven home: /usr/local/apache-maven/apache-maven-3.2.2
Java version: 1.8.0_11, vendor: Oracle Corporation
Java home: /usr/java/jdk1.8.0_11/jre
Default locale: zh_CN, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-123.4.2.el7.x86_64", arch: "amd64", family: "unix"

举报
kingdelee
发帖于4年前 4回/3K+阅
共有4个答案 最后回答: 2年前

不应该啊,/etc/profile配置后,下次终端登录就生效了。 (立即生效用source )

每次登录的用户名一样吗,echo $PATH看看是否含mvn的bin路径,若无则cat /etc/profile查看。

实在不行就在~/.bash_profile中加入以下内容看看:

PATH=$PAHT:/usr/local/apache-maven/apache-maven-3.2.2/bin

export PATH

说的新终端不会是在图形界面上开一个新的终端窗口吧?这种方式是不会生效的。需要注销当前登录用户。

写到/etc/bashrc就可以了,记得/etc/profile有些bash语法不能写进去,否则不生效,原因不明。我也遇到过这样的情况,export写到/etc/profile不生效,写到/etc/bashrc(ubuntu为/etc/bash.bashrc)中就可以生效。

参考一下这个:http://19055.blog.51cto.com/9055/1144600

顶部