Centos

如何在 CentOS 上正確設置 JAVA_HOME?

  • November 30, 2020

我正在嘗試設置JAVA_HOME以便我可以在本**教程的幫助下安裝 Apache Solr**。我使用sshroot 使用者連接到我的伺服器

要允許正在執行的 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

您希望將 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::")

與其從安裝目錄複製文件,不如將SOLR_JAVA_HOMEin設置為安裝中文件夾/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/

引用自:https://unix.stackexchange.com/questions/243853