前言:在zookeeper学习的时候,执行jsp命令查看zookpper运行状态的时候发现报错:

-bash: jps: command not found

翻阅了一大批文章,不是东拼西凑,就是缺斤少两,于是乎,本人萌生了第一次写博客的想法,复盘的同时,顺便记录一下此次踩坑的经过,开始吧,GOGOGO!

  • 发现报错,根据查阅到的资料说明:

产生的原因是Java的环境变量出错

  • 执行 whereis java

  • 发现一串奇怪的路径,说明这只是java的执行路径,而非java的安装路径。

  • 执行 which java 来获取java路径:

  • 我们发现又一个奇怪的路径,其实这是对java路径的一个软引用,查询此软引用的指向:

  • 查询这个指向的真实源目录:

  • 终于我们获取到了java的安装路径,但这个路径为嘛有一大串???原因是这是CentOS自带的open-jdk...

  • 首先我们得将它给干掉:

rpm -qa | grep java #查看java文件
sudo rpm -qa | grep java | xargs rpm -e --nodeps #root权限下一键删除

冷知识,

sudo进入root模式:

ln -s target_file_name source_file_name #建立软链接

rm -rf xxxx/ 加了个/ #这个是删除文件夹

rm -rf xxxx 没有/ #这个是删除软链接

  • 于是只好去Oracle官网下载Linux版本的jdk并安装:

https://www.oracle.com/java/technologies/downloads/#java8-linux

  • 发现下载的时候版本眼花缭乱,分为tar.gz、rpm、yum文件,区别是:
  1. tar.gz:

    本质上就是一种压缩包,里面的一些配置都需要我们手动操作
  2. rpm:

    Rethat红帽公司发布的一个功能,redhat package manager,.rpm更像一个软件安装包,意为tar.gz的傻瓜式安装,全自动化
  3. yum:

    rpm的究极傻瓜版...类似于java-maven的作用,自动下载、自动安装、自动装配,甚至可以补丢失的依赖包,一般使用这个命令可以查看对应插件官网的目前能下载的插件列表,然后再选择进行安装,十分的方便
  • 为了加深理解,采用tar.gz包,来手动安装jdk8。将该压缩包放到/usr/local/jdk目录下(手动建立jdk目录),jdk目录需要自己手动创建,也可以叫java,名字自己随意取(见名知意),然后解压该压缩包,输入如下指令:

    tar zxvf jdk-8u181-linux-x64.tar.gz

冷知识,

/usr/local 文件一般存放给另一个主机存放额外安装软件的目录,一般是通过编译源码方式安装的程序,如jdk、nginx、rabbitmq;

/opt 则是存放额外安装软件的目录,如mysql、redis、zookeeper;

/usr 用户的很多应用程序和文件都放在这个目录里面

  • 接下来配置java环境变量:

    vim /etc/profile 打开配置文件追加以下内容:

冷知识,

(shift+g快速定位到末尾,i进行编辑,wq!保存退出)

/etc 存放所有的系统管理所需要的配置文件,子目录my.conf

export JAVA_HOME=/usr/local/jdk/jdk1.8.0_351  #jdk安装目录

export JRE_HOME=${JAVA_HOME}/jre

export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH

export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin

export PATH=$PATH:${JAVA_PATH}
  • 刷新profile文件,不必重启linux。并测试:

    source /etc/profile

  • 测试是否安装成功:

java -version
javac
  • 测试jps指令:

    jps

  • 成功!!!

总结:

  1. jps命令无法执行,原因在于java环境变量配置有误
  2. linux有自带的open-jdk
  3. 软引用的使用:ln -s

Linux执行jsp命令的时候报错:-bash: jps: command not found的更多相关文章

  1. source /etc/profile报错-bash: id:command is not found

    由于误操作导致 source /etc/profile 报错 -bash: id:command is not found 此时,linux下很多命令到不能能用,包括vi ls 等... 可以使用 e ...

  2. scp命令报错-bash: scp: command not found

    # scp -bash: scp: command not found # which scp /usr/bin/scp # rpm -qf /usr/bin/scp openssh-clients- ...

  3. Mac 终端命令行报错 -bash: vi: command not found

    我遇到的问题与这个类似,但是我的问题也是用该博文作者方法进行中断才解决的,在此表示感谢. 前段时间在 Mac 下使用终端遇到了这个问题: appledeMacBook-Air:~ air$ vi .b ...

  4. Mac 执行 gulp 报错 -bash: gulp: command not found

    在mac系统下安装gulp,之后执行gulp 报如下错误: -bash: gulp: command not found 回溯安装过程发现问题如下 1.执行 npm root: Application ...

  5. linux报错-bash: xhost: command not found

    本帖转自倔强小梦https://www.cnblogs.com/xphdbky/p/8243008.html 倔强小梦参考自:http://blog.csdn.net/csdnones/article ...

  6. linux下报错bash: service: command not found

    在linux下操作的时候经常会遇到,bash: service: command not found这个错误,以前在网上找了,照着弄了,也没细看原因,今天又碰到这个问题,就顺便研究一下. 1.通常这种 ...

  7. scp报错 -bash: scp: command not found

    环境:RHEL6.5 使用scp命令报错: [root@oradb23 media]# scp /etc/hosts oradb24:/etc/ -bash: scp: command not fou ...

  8. scp拷贝文件报错-bash: scp: command not found

    今天用scp远程传输资料,报错如下: -bash: scp: command not found 在网上搜资料解决办法如下: 安装scp的软件包: # yum install openssh-clie ...

  9. 【Linux】ssh执行远程命令awk 参数报错问题

    ssh  ip    sudo docker ps -a | grep none | awk '{print \$1}'| sed 's/%//g' $1前面加上转移符就好

随机推荐

  1. Mysql 一主一从

    1. 主从原理 1.1 主从介绍 所谓 mysql 主从就是建立两个完全一样的数据库,其中一个为主要使用的数据库,另一个为次要的数据库,一般在企业中,存放比较重要的数据的数据库服务器需要配置主从,这样 ...

  2. HDU 6222 Heron and His Triangle (pell 方程)

    题面(本人翻译) A triangle is a Heron's triangle if it satisfies that the side lengths of it are consecutiv ...

  3. python筛选excel内容并生成exe文件

    最近疫情原因,班级每天都要筛选未打卡人员,每次都手动操作太麻烦了.遂写下如下的程序,并且生成了exe可执行文件. 1. 主程序 import openpyxl import pyperclip # 1 ...

  4. 京东云PostgreSQL在GIS场景的应用分享

    在地图或地理信息有关的场景里,地址关键词的检索尤其重要.比如打开百度地图,想要查询某个位置的信息"北京市海淀区清华东路17号中国农业大学",往往我们输入的是关键词"中国农 ...

  5. 第三十五篇:vue3,(组合式api的初步理解)

    好家伙, 来一波核心概念:数据劫持是响应式的核心 1.由set up开始 (1)vue3中的一个新的配置项,值为一个函数. (2)组件中所用的到的:数据,方法,计算属性均要配置在set up中. (3 ...

  6. Docker 完整版教程

    Docker 安装 一.安装前必读 在安装 Docker 之前,先说一下配置,我这里是Centos7 Linux 内核:官方建议 3.10 以上,3.8以上貌似也可. 注意:本文的命令使用的是 roo ...

  7. SQL语句中过滤条件放在on和where子句中的区别和联系

    摘要: 介绍在多表关联SQL语句中,过滤条件放在on和where子句中的区别--inner join中没区别,外连接就不一样. 综述   蚂蚁金服的一道SQL面试题如下:SQL语句中,过滤条件放在on ...

  8. Python数据科学手册-机器学习介绍

    机器学习分为俩类: 有监督学习 supervised learning 和 无监督学习 unsupervised learning 有监督学习: 对数据的若干特征与若干标签之间 的关联性 进行建模的过 ...

  9. NLP新手入门指南|北大-TANGENT

    开源的学习资源:<NLP 新手入门指南>,项目作者为北京大学 TANGENT 实验室成员. 该指南主要提供了 NLP 学习入门引导.常见任务的开发实现.各大技术教程与文献的相关推荐等内容, ...

  10. Kubernetes 日志:搭建 EFK 日志系统

    Kubernetes 中比较流行的日志收集解决方案是 Elasticsearch.Fluentd 和 Kibana(EFK)技术栈,也是官方现在比较推荐的一种方案. Elasticsearch 是一个 ...