如何在CentOS上正确设置JAVA_HOME?

如何在CentOS上正确设置JAVA_HOME?

我正在尝试设置JAVA_HOME这样我就可以安装 Apache Solr在此帮助下教程。我使用连接到我的服务器SSH根用户

要允许运行 sh 脚本安装 Apache Solr:

mount | grep noexec

使用 exec 选项重新挂载文件系统:

mount -o remount,exec /dev/md1

然后每次我尝试使用以下命令安装它

bin/install_solr_service.sh /tmp/solr-5.3.1.tgz

我收到以下消息:

WARNING: /opt/solr-5.3.1 already exists! Skipping extract ...

Creating /etc/init.d/solr script ...
The currently defined JAVA_HOME (/usr/local/jdk) refers
to a location where Java could not be found.  Aborting.
Either fix the JAVA_HOME variable or remove it from the
environment so that the system PATH will be searched.
The currently defined JAVA_HOME (/usr/local/jdk) refers
to a location where Java could not be found.  Aborting.
Either fix the JAVA_HOME variable or remove it from the
environment so that the system PATH will be searched.
Service solr installed.

这是我到目前为止所尝试的:

nano /root/.bash_profile 
nano /etc/profile

我在最后将以下内容添加到上面的文件中并保存

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.65-0.b17.el6_7.x86_64
export PATH=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.65-0.b17.el6_7.x86_64/bin:$PATH

那行不通。

我创建了以下文件 /etc/profile.d/java.sh 并将其放入其中:

export JRE_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.65-0.b17.el6_7.x86_64/jre/
export PATH=$PATH:$JRE_HOME/bin

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.65-0.b17.el6_7.x86_64
export JAVA_PATH=$JAVA_HOME

export PATH=$PATH:$JAVA_HOME/bin

并运行以下命令:

source java.sh

那也行不通。

我尝试运行以下命令:

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.65-0.b17.el6_7.x86_64

一点运气都没有。

但是当运行以下命令时,这就是我得到的

echo $JAVA_HOME
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.65-0.b17.el6_7.x86_64
echo $PATH
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.65-0.b17.el6_7.x86_64/bin:/usr/local/jdk/bin:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.65-0.b17.el6_7.x86_64/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.65-0.b17.el6_7.x86_64/jre//bin:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.65-0.b17.el6_7.x86_64/bin:/usr/local/bin:/usr/X11R6/bin:/root/bin

答案1

您希望将 JAVA_HOME 指向 JRE 目录,如下所示:

JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64/jre/

如果使用 bash,我建议将其放入/etc/bashrc(基于 RH)或/etc/bash.bashrc(基于 Debian):

export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:/bin/java::")

答案2

与其从安装目录中复制文件,不如将其设置SOLR_JAVA_HOME为安装中文件夹/etc/default/solr.in.sh的位置jre,例如usr/lib/jvm/java-1.8.0-openjdk-1.8.0.65-0.b17.el6_7.x86_64/jre/

答案3

我正在阅读我的问题并在其中找到了答案。这就是我所做的:

我已撤消所有更改/root/.bash_profile/etc/配置文件

然后我创建了一个名为的文件夹jdk在 /usr/local/ 文件夹中,如下所示

mkdir /usr/local/jdk

因为这是 jdk 预计位于的位置。然后我将 jdk 文件复制到 newcp -R /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.65-0.b17.el6_7.x86_64 /jre/* /usr/local/jdk/ 文件夹如下:

cp -R /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.65-0.b17.el6_7.x86_64/jre/* /usr/local/jdk/

就这么简单,我现在可以安装 Apache Solr

相关内容