내 Java 환경 변수가 엉망인 것 같습니다. 다시 설치하지 않고 어떻게 다시 시작할 수 있나요?

내 Java 환경 변수가 엉망인 것 같습니다. 다시 설치하지 않고 어떻게 다시 시작할 수 있나요?

나는 Janusgraph열심히 일하고 있어요OpenSuse 도약 42.3하지만 문제가 많아요.

내 이해는 &를 JanusGraph포함한 다른 Java 종속성을 호출한다는 것입니다 . 나는 내 계정과 루트에서 그것을 시도했지만 이후의 읽기에서 루트에서 실행하는 것은 더 이상 사용되지 않거나 불가능하다는 것을 이해합니다.gremlincassandrajanusgraph.sh

내 Java 환경 변수가 잘못되어 실행 중인 것 같습니다. env 많은 Java 관련 변수가 공개되었으며 해당 변수가 생성되거나 선언되는 방법과 위치를 전혀 모릅니다. 나는 이것을 모든 계정에서 공통적으로 설정하고 싶습니다. 다음을 사용하면 어떻게든 가능할 것이라고 생각했습니다. /etc/environment?

다음은 출력 + 기타 수동 발췌입니다 env | grep J(아래의 모든 내용은 루트가 아닌 일반 bash 계정에서 실행됩니다).

JRE_HOME=/usr/lib64/jvm/jre-1.8.0-openjdk/jre/bin/java
JAVA_BINDIR=/usr/lib64/jvm/java/bin
JAVA_HOME=/usr/bin/
JDK_HOME=/usr/lib64/jvm/java
JAVA_ROOT=/usr/lib64/jvm/java
CASSANDRA_HOME=/opt/apache-cassandra-3.11.3/bin/
PATH=/home/me/adb-fastboot/platform-tools:/home/me/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games:/home/me/bin:/usr/lib64/jvm/jre-1.8.0-openjdk/bin/java:/usr/lib64/jvm/jre-1.8.0-openjdk/jre/bin/java:/usr/bin/

그러나 나는 이것이 모순적이라고 생각한다:

alternatives --list java
/usr/lib64/jvm/jre-1.8.0-openjdk/bin/java

나는 또한 다음을 확인했습니다.

java -version
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (IcedTea 3.10.0) (build 1.8.0_191-b12 suse-30.1-x86_64)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)

바닥의 ​​실제 위치를 찾으십시오.

readlink -f /usr/bin/java
/usr/lib64/jvm/java-1.8.0-openjdk-1.8.0/jre/bin/java

그리고

whereis java
java: /usr/bin/java /usr/lib64/java /etc/java /usr/share/java /usr/share/man/man1/java.1.gz

답변1

변수 가 엉망이 되었습니다. 왜 및 가 PATH필요한지 모르겠습니다 . 일반적으로 말하면 바이너리 와 변수 만 필요합니다 . 그러나 설정에 이들 중 일부가 필요할 수 있으므로 환경이 예상대로 작동할 때까지 보관하는 것이 좋습니다.JRE_HOME, JAVA_BINDIR, JDK_HOMEJAVA_ROOTjavaPATHJAVA_HOME

귀하의 PATH의견을 분석하여 주석이 포함된 항목을 제거하겠습니다.

PATH=/home/me/adb-fastboot/platform-tools:
/home/me/bin:
/usr/local/bin:
/usr/bin:
/bin:
/usr/bin/X11:
/usr/games:
/home/me/bin: # remove, already defined above
/usr/lib64/jvm/jre-1.8.0-openjdk/bin/java: # remove, java is already in /usr/bin
/usr/lib64/jvm/jre-1.8.0-openjdk/jre/bin/java: # remove, java is already in /usr/bin
/usr/bin/ # remove, already defined above

새로운 경로는 다음과 같습니다.

PATH=/home/me/adb-fastboot/platform-tools:/home/me/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games

JAVA_HOME/JRE_HOME은 다음과 같아야 합니다.

JAVA_HOME=/usr/lib64/jvm/jre-1.8.0-openjdk
JRE_HOME=$JAVA_HOME/jre

편집하다:변수는 ~/.bashrc 또는 ~/.profile로 내보낼 수 있습니다. 찾은 위치( export변수 이름 앞)에서 변경합니다.

관련 정보