繁体   English   中英

JAVA_HOME 文件不工作,我无法在 Amazon EC2 上将 Java 更新到 1.8

[英]JAVA_HOME file is not working and I couldn't update Java to 1.8 on Amazon EC2

我在 Linux 上有一个 Amazon EC2 t3.medium 实例。我正在尝试在此实例上运行 Apache ni-fi,我需要 java。当我检查 JAVA_HOME 默认值时:

$ echo$JAVA_HOME

 -bash: echo/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.261-2.6.22.2.amzn2.0.2.x86_64: No such file or directory

然后,我在终端上通过以下命令下载了 java 1.8:

$ sudo yum install java-1.8.0-openjdk.x86_64

$ sudo update-alternatives --config java

(I selected 2 for java 1.8)

为了找到我的 java 文件的位置,我运行它们:

$ file $(which java)
/usr/bin/java: symbolic link to `/etc/alternatives/java'
$ file /etc/alternatives/java
/etc/alternatives/java: symbolic link to `/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-1.amzn2.0.2.x86_64/jre/bin/java'
$ file /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-1.amzn2.0.2.x86_64/jre/bin/java

/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-1.amzn2.0.2.x86_64/jre/bin/java: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 3.2.0, BuildID[sha1]=1b1c0fd721197a04f9bfc9b0891f1bd83a5f49d5, not stripped

我想它工作正常。 然后,我通过在终端上为 ec2-user 和 root 编写这些命令,将 JAVA_HOME 从 1.7 更改为 1.8:

[root@ip-178-32-11-247 ~]# export JAVA_HOME="/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-1.amzn2.0.2.x86_64"
[root@ip-178-32-11-247 ~]# PATH=$JAVA_HOME/bin:$PATH

事先,我在 root 上设置了 nifi。 在 nifi-1.16.0 目录中,我正在尝试运行此命令:

[root@ip-178-32-11-247 nifi-1.16.0]# bin/nifi.sh start

错误信息是:

Java home: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-1.amzn2.0.2.x86_64
NiFi home: /root/nifi-1.16.0

Bootstrap Config File: /root/nifi-1.16.0/conf/bootstrap.conf

bin/nifi.sh: line 401: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-1.amzn2.0.2.x86_64/bin/java: No such file or directory

我认为 java 正在工作,但 JAVA_HOME 无法正确设置,但我无法解决。 那我该怎么做才能解决问题并启动nifi?

如果您能提供帮助,我将不胜感激,因为这个错误,我无法开始我的学期项目:(

JAVA_HOME的正确路径应该是/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-1.amzn2.0.2.x86_64/jre/bin/java

export JAVA_HOME="/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-1.amzn2.0.2.x86_64/jre/bin/java"

但可能您无论如何都不需要导出JAVA_HOME 您应该在/usr/bin/中有一个链接。 您可以通过执行以下操作来检查:

[ssm-user@ip-172-31-85-243 bin]$ which java
/usr/bin/java

默认情况下 Apache Nifi 使用可执行文件/usr/bin/java ,所以你不需要导出JAVA_HOME

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM