【问题标题】:java : command not findjava:找不到命令
【发布时间】:2020-09-21 15:44:16
【问题描述】:


我在我的 centos 上安装 jdk 时遇到问题。
我确实安装了“java-1.8.0-openjdk-1.8.0.25-3.b17.el6_6.i386”但是当我运行“java -version”时,我看到了这个错误:

[root@JAVA java]# java -version

-bash: java: command not found

我也设置了 $PATH 变量:

[root@JAVA java]# echo $PATH

/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin:/root/bin:/root/bin:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.25-3.b17.el6_6.i386/jre/bin:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.25-3.b17.el6_6.i386/jre/bin/

怎么了?我真的试图搜索。 :( 请帮帮我。

更新
我找到 jre 并返回:

[root@JAVA java]# locate jre
/etc/alternatives/jre
/etc/alternatives/jre_1.8.0
/etc/alternatives/jre_1.8.0_exports
/etc/alternatives/jre_1.8.0_openjdk
/etc/alternatives/jre_1.8.0_openjdk_exports
/etc/alternatives/jre_exports
/etc/alternatives/jre_openjdk
/etc/alternatives/jre_openjdk_exports
/usr/lib/jvm/jre
/usr/lib/jvm/jre-1.7.0
/usr/lib/jvm/jre-1.7.0-openjdk
/usr/lib/jvm/jre-1.8.0
/usr/lib/jvm/jre-1.8.0-openjdk
/usr/lib/jvm/jre-1.8.0-openjdk-1.8.0.25-3.b17.el6_6.i386
/usr/lib/jvm/jre-openjdk
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.25-3.b17.el6_6.i386/jre
/usr/lib/jvm-exports/jre
/usr/lib/jvm-exports/jre-1.7.0
/usr/lib/jvm-exports/jre-1.7.0-openjdk
/usr/lib/jvm-exports/jre-1.8.0
/usr/lib/jvm-exports/jre-1.8.0-openjdk-1.8.0.25-3.b17.el6_6.i386
/usr/lib/jvm-exports/jre-openjdk
/var/lib/alternatives/jre_1.7.0
/var/lib/alternatives/jre_1.8.0
/var/lib/alternatives/jre_1.8.0_openjdk
/var/lib/alternatives/jre_openjdk

那是当前路径?

更新 2:

[root@JAVA java]# yum list installed| grep java
java-1.7.0-openjdk.i686  1:1.7.0.65-2.5.1.2.el6_5
java-1.7.0-openjdk-devel.i686
java-1.8.0-openjdk.i686  1.8.0.25-3.b17.el6_6
java-1.8.0-openjdk-devel.i686
java-1.8.0-openjdk-headless.i686
tzdata-java.noarch       2014h-1.el6     @updates
[root@JAVA java]# find / -name "java"
/usr/share/bash-completion/java
/usr/share/java
/usr/lib/java
/usr/lib/jvm-exports/java
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.25-3.b17.el6_6.i386/bin/java
/usr/lib/jvm/java
/usr/bin/java
/var/lib/alternatives/java
/etc/alternatives/java
/etc/pki/java
/etc/java

【问题讨论】:

  • 路径包含 JRE bin 而不是 JDK bin.. 更新它应该可以工作。
  • @starlord :我在我的服务器中找到 jre,我得到了几个路径。我不知道哪个是当前路径。上面的路径是 jdk?真的吗?
  • 请尝试 "yum list installed| grep java" 并找到 / -name "java"
  • @starlord:我这样做了。我将结果添加到问题中。请参阅更新 2。
  • 看到这个askubuntu.com/questions/357001/… 一个建议更好地使用oracle java

标签: java centos


【解决方案1】:

在/etc目录下的bashrcprofile文件下面添加两行。

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.25-3.b17.el6_6.i386
export PATH=$JAVA_HOME/bin:$PATH

然后试试java -version。仍然有任何问题,请重新启动您的操作系统。

【讨论】:

  • 对我来说 "/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.65-0.b17.el6_7.x86_64/jre/bin/java -version" 工作正常然后我将其添加到“export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.65-0.b17.el6_7.x86_64/jre” *参见不带 bin/java
【解决方案2】:

如果你要编译一些 java 代码,你需要使用位于JDK/bin/javac 命令。您的所有系统都针对JDK/jre/bin

如果没有配置 java,则在 /usr/bin 创建符号链接

cd /usr/bin
ln -sfvn /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.25-3.b17.el6_6.i386/bin/java java

更好更简洁的方法是创建符号链接java,这将使您将来可以轻松更新java版本:

cd /usr/lib/jvm/
ln -sfvn java-1.8.0-openjdk-1.8.0.25-3.b17.el6_6.i386 java
ln -sfvn java/jre jre

cd /usr/bin
ln -sfvn /usr/lb/jvm/java/bin/java java

这种方法会给你一个更干净、更清晰的环境。

你也可以试试alternatives命令——Why is alternatives command used when installing Java on a Linux machine

但这并不是必须的。

【讨论】:

    【解决方案3】:

    我也是这么想的,就是编码器BOM UTF8转UTF8

    【讨论】:

      猜你喜欢
      • 2018-07-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-29
      • 1970-01-01
      • 1970-01-01
      • 2018-01-04
      • 2019-06-15
      相关资源
      最近更新 更多