删除 linux 中环境变量末尾的尾随 bin/java

Removing trailing bin/java at end of environmental variable in linux

我正在尝试编译 mahout,我临时更改了 JAVA_HOME 变量,如下所示:

export JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.33.x86_64/

和 我使用此命令检查它是否已正确更改:

printenv |grep JAVA_HOME

哪个returns:

JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.33.x86_64

但是当我 运行 mahout mvn clean install -DskipTests=true 我 运行 进入这个错误:

错误:JAVA_HOME 未正确定义。 我们无法执行 /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.33.x86_64/bin/java

我不确定这个 bin/java 是怎么出现的。看起来与我的尾随 bin/java 相似的问题似乎与我的不完全相同或没有意义,因为答案只是删除它但我从来没有在我的路径中第一名。

如何解决这个 bin/java 问题?提前致谢。

您应该将 $JAVA_HOME/bin 附加到环境变量 PATH:

export PATH=$PATH:$JAVA_HOME/bin

回答这个问题以防其他人 运行 遇到同样的问题。如果此 post 变旧,请确保名称中的 java 文件名版本正确!

导出JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.35.x86_64/

我的 java 路径名称错误,应该是:

java-1.6.0-openjdk-1.6.0.35.x86_64/ 不是 java-1.6.0-openjdk-1.6.0.33.x86_64

35 不是 33