CentOS에서 JAVA_HOME을 올바르게 설정하는 방법은 무엇입니까?

CentOS에서 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/

/etc/bashrcBash를 사용하는 경우 이를 (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를 설치할 수 있습니다.

관련 정보