大家好,又见面了,我是你们的朋友全栈君。
文章目录
一、linux下jps报command not found
前言:在网上有好多说是以 root 身份 vi /etc/profile
,然后在下面加一行 export PATH="usr/java/jdk160_05/bin:$PATH"
(其中 jdk160_05
是你的安装目录,依你自己的安装情况所决定),然后 source /etc/profile
即可解决。
我觉得这是当你自己安装 jdk 后 jps 命令不好使时可以这样解决,但是经过我试验你自己安装 jdk 成功后(如:在解压 jdk-8u91-linux-x64.tar.gz
后的 bin 目录下有 jps 可执行文件)一般 jps 命令就已经好使了。
所以说一般输入 jps
后报 -bash: jps: command not found
都是使用 Linux 自带的 jdk 时,下面以 RedHat6.6
(Centos也适用)的解决方法为例:
[root@hui-003 ~]# yum list | grep jdk-devel
java-1.6.0-openjdk-devel.x86_64 1:1.6.0.0-11.1.13.4.el6 rhel-source
java-1.7.0-openjdk-devel.x86_64 1:1.7.0.65-2.5.1.2.el6_5 rhel-source
java-1.8.0-openjdk-devel.x86_64 1.8.0.20-3.b26.el6 rhel-source
[root@hui-003 ~]# java -version
java version "1.7.0_65"
OpenJDK Runtime Environment (rhel-2.5.1.2.el6_5-x86_64 u65-b17)
OpenJDK 64-Bit Server VM (build 24.65-b04, mixed mode)
#(查看了一下我jdk版本是jdk1.7.0,于是就安装java-1.7.0-openjdk-devel.x86_64,后来经试验安装java-1.6.0-openjdk-devel.x86_64和java-1.8.0-openjdk-devel.x86_64后jps命令倒也能正常使用)
[root@hui-003 ~]# yum -y install java-1.7.0-openjdk-devel.x86_64
后来在一次实验中出现了这个警告:
据网上资料说这是由于 yum 安装了旧版本的 GPG keys
造成的。 解决办法就是运行以下命令:rpm --import /etc/pki/rpm-gpg/RPM*
还有可能你会报这个错:
Loaded plugins: fastestmirror, refresh-packagekit, security
Existing lock /var/run/yum.pid: another copy is running as pid 2388.
Another app is currently holding the yum lock; waiting for it to exit...
The other application is: PackageKit
Memory : 56 M RSS (364 MB VSZ)
Started: Thu Aug 31 09:46:18 2017 - 13:20 ago
State : Sleeping, pid: 2388
Another app is currently holding the yum lock; waiting for it to exit...
The other application is: PackageKit
Memory : 56 M RSS (364 MB VSZ)
Started: Thu Aug 31 09:46:18 2017 - 13:22 ago
State : Sleeping, pid: 2388
。。。。。。。。。。。。不断循环
可能是系统自动升级正在运行,yum在锁定状态中。
可能你会想到用kill -9 2388将它杀掉,但可惜并不好使。。。那应该咋么办呢?那么你可以通过强制关掉yum进程:rm -f /var/run/yum.pid
二、查看Linux自带的jdk安装路径:
- 使用 JAVA_HOME的话能定位 JDK 的安装路径的前提是配置了环境变量 JAVA_HOME,否则如下所示,根本定位不到JDK的安装路径:
- whereis命令
[root@hui-002 jvm]# whereis java
java: /usr/bin/java /etc/java /usr/lib/java /usr/share/java /usr/share/man/man1/java.1.gz
-
which java
也是如此,which java
定位到的是 java 程序的执行路径。
[root@hui-002 ~]# which java
/usr/bin/java
- 寻找 Java 的默认安装路径
[root@hui-002 ~]# cd /usr/lib/jvm
[root@hui-002 jvm]# ls
java java-1.6.0 java-1.6.0-openjdk-1.6.0.0.x86_64 java-1.6.0-openjdk.x86_64 java-1.7.0-openjdk-1.7.0.65.x86_64 java-openjdk jre jre-1.6.0 jre-1.6.0-openjdk.x86_64 jre-1.7.0 jre-1.7.0-openjdk.x86_64 jre-openjdk
三、解决linux安装的jdk版本与java -version版本显示不一致问题(下面以RedHat5.5为例):
说明:我明明已经将 jdk-7u25-linux-i586.tar.gz
解压并已经配好了环境变量(一般配好了就能正常使用了哈)但又一次执行Java -version
后显示的还是 Linux 原来自带的旧版本
解决步骤:
[root@h71 soft]# java -version
java version "1.4.2"
gij (GNU libgcj) version 4.1.2 20080704 (Red Hat 4.1.2-48)
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
[root@h71 soft]# which java
/usr/bin/java
[root@h71 soft]# mv /usr/bin/java /usr/jdk1.7.0_25/
# 或者(后面的目录为你自己jdk的安装目录):
[root@192 hadoop]# mv /usr/bin/java /opt/java/jdk1.8.0_91
[root@h71 soft]# ln -s /usr/jdk1.7.0_25/bin/java /usr/bin/java
[root@h71 soft]# ls -lrt /usr/bin/java
lrwxrwxrwx 1 root root 25 May 5 16:13 /usr/bin/java -> /usr/jdk1.7.0_25/bin/java
[root@h71 soft]# java -version
java version "1.7.0_25"
Java(TM) SE Runtime Environment (build 1.7.0_25-b15)
Java HotSpot(TM) Client VM (build 23.25-b01, mixed mode)
注意:执行ln -s
命令进行软链接设置的时候可能报错说文件已经存在。可以增加 f 参数覆盖之前的
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/191216.html原文链接:https://javaforall.cn