could not find java;set JAVA_HOME or ensure java报错

在安装logstash时出现如下报错:“could not find java; set JAVA_HOME or ensure java is in PATH
chmod: cannot access ‘/etc/default/logstash’: No such file or directory
warning: %post(logstash-1:6.6.0-1.noarch) scriptlet failed, exit status 1”
could not find java; set JAVA_HOME or ensure java is in PATH
chmod: cannot access ‘/etc/default/logstash’: No such file or directory
warning: %post(logstash-1:6.6.0-1.noarch) scriptlet failed, exit status 1

原以为是jdk没有安装经查是正常的。但启动logstash 的时候也是报错的。

[[email protected] opt]# java -version
java version "1.8.0_144"
Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)

猜测应该是环境变量的事了。

[[email protected] config]# echo $PATH
/usr/local/jdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

但是发现是有的。

查看整个系统的变量,发现没有,应该就是这个问题了。
[[email protected] preuser-0]# set |grep JAVA_HOME

解决步骤如下:
1、设置变量

[[email protected] opt]# vim ~/.bash_profile 

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

PATH=$PATH:$HOME/bin
export JAVA_HOME=/usr/local/jdk
export PATH=$PATH:/usr/local/jdk/bin
[[email protected] opt]# source  ~/.bash_profile

2、查看变量值
[[email protected] opt]# set |grep JAVA_HOME
JAVA_HOME=/usr/local/jdk

3、重新安装ok了,问题解决。

[[email protected] opt]# rpm -ivh logstash-6.6.0.rpm
warning: logstash-6.6.0.rpm: Header V4 RSA/SHA512 Signature, key ID d88e42b4: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:logstash-1:6.6.0-1               ################################# [100%]
Using provided startup.options file: /etc/logstash/startup.options
Successfully created system startup script for Logstash

原文地址:https://blog.51cto.com/liqingbiao/2413505

时间: 2024-11-09 12:24:42

could not find java;set JAVA_HOME or ensure java报错的相关文章

Control character in cookie value, consider BASE64 encoding your value , java操作cookie遇到中文会报错的解决方案

项目当中用到cookie保存中文,但是会报如下错误: Control character in cookie value, consider BASE64 encoding your value 大概意思是保存到cookie当中的值存在控制字符,无法保存.但实际上数据是不存在这种问题的.再看后面的那句话,好像是将要保存的值进行了base64编码,可能是因为中文在编码时出现乱码导致一些控制字符的出现.看来setCookie方法不支持保存中文(GBK)编码的样子. 解决方案:将要保存的值进行URLE

java插入数据至mysql数据库报错:check the manual that coresponds to your mysql server version for the right syntax to use near 'condition)values...解决方案

MySQL5.X(本地数据库) 使用java向表中插入数据时,每次数据库更新,pstm.executeUpdate();就会跳到IO报错,提示原因是sql语法有问题,如题可见 当测试插入数据不含condition字段时,插入成功,尝试更名为conDition时,仍报错 解决方案: 更改condition为conDi,原因可能时因为condition为数据库或java关键字不能使用,更名后不再受影响,插入成功. java插入数据至mysql数据库报错:check the manual that c

java客户端作为kafka的consumer报错org.I0Itec.zkclient.exception.ZkTimeoutException

出错现象: java客户端编程作为kafka的消费端,连接kafka的broker报错 出错原因分析: 当服务器配置或者网络环境较差时,会出现连接zk超时的情况出现; 解决方法:将程序中的timeout数值调大 props.put("zookeeper.session.timeout.ms", "15000");

loadrunner java 缺少必要的导入包报错

loadrunner 运行从eclipse中做好的脚本,ctrl + A 复制到loadrunner中来, 添加参数化的的语句:verifyCode =    lr.eval_string ("<rand6>"); 报错: Notify: Found jdk version: 1.6.0. [MsgId: MMSG-22986]Notify: classpath=E:\performanceTest\3-性能测试\lr_hibox_script\;c:\program fi

Java客户端连接kafka集群报错

往kafka集群发送消息时,报错如下: page_visits-1: 30005 ms has passed since batch creation plus linger time 加入log4j.properties,设置为DEBUG级别,错误如下: 2017-06-03 17:33:31,417 DEBUG [org.apache.kafka.clients.NetworkClient] - Error connecting to node 2 at kafka-cluster-64bi

【java开发系列】—— Tomcat编译报错

由于之前Eclipse里面有一个可移植性的web工程,但是在我很久没用后,再次登录这个IDE的时候就发现了问题. 首先,我的电脑里面有两个版本的JDK,1.6和1.7.两个版本的Tomcat6和7以及两个版本的Eclipse IDE 3.5和4.0+. 当我启动开发环境后,想要向server中添加应用,发现报错: There are no resources that can be added or removed from the server. 我之前好用的应用怎么回不好使呢.于是删除ser

定时器中实现数据库表数据移动的功能,Exception in thread &quot;Timer-0&quot; isExist java.lang.NullPointerException定时器中线程报错。

1 package com.shawnway.trade.marketdata.constants; 2 import java.sql.SQLException; 3 import java.util.Calendar; 4 import java.util.Date; 5 import java.util.Timer; 6 import java.util.TimerTask; 7 8 import javax.persistence.EntityManager; 9 import java

为什么java局部变量没有初始化就会报错,而成员变量没有初始化就不会报错?

代码如下 1.局部变量,报错!!! public void test(){ int i; System.out.println(i); } 2.成员变量,输出0 int i; @Test public void test(){ System.out.println(i); } 之前一直有疑问,但是也不知道具体是什么原因,今天看了thinking in java大致就了解了: 其实说到底还是java规范,因为java规定要这样就必须这样==. 原理就是,java规定,所有变量在使用之前要保证是经过

[java问题记录]IntelliJ Idea编译报错:javacTask: 源发行版 1.8 需要目标发行版 1.8

原因:不详,可能是升级idea造成的,之前打过一个升级补丁: 错误信息: Information:java: javacTask: 源发行版 1.8 需要目标发行版 1.8Information:2017/1/24 11:27 - Compilation completed with 1 error and 0 warnings in 5s 873msInformation:java: Errors occurred while compiling module 'java-lessions'I