Environment-Variables
我的 Java 環境變數似乎一團糟,如何在不重新安裝的情況下重新啟動?
我正在嘗試
Janusgraph
開發OpenSuse Leap 42.3,但遇到了許多問題。我的理解是
JanusGraph
呼叫其他 Java 依賴項,包括gremlin
&cassandra
。我已經從我的帳戶和 root 嘗試過,但我從後續閱讀中了解到,janusgraph.sh
從 root 執行要麼已被棄用,要麼是不可能的。我認為我的 Java 環境變數是錯誤的,並且執行
env
顯示了一堆與 java 相關的變數,我不知道它們是如何或在哪裡生成或聲明的。我想以它們在所有帳戶中通用的方式進行設置,我認為這可能以某種方式使用/etc/environment
?這是
env | grep J
+ 其他手動提取的輸出(以下所有內容都是從我的普通 bash 帳戶執行的,而不是 root )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
你的
PATH
變數搞砸了,我不知道你為什麼需要JRE_HOME, JAVA_BINDIR, JDK_HOME
和JAVA_ROOT
. 通常,您只需要變數和變數java
中的二進製文件。但也許您的設置需要其中一些,所以我建議您保留它們,直到您的環境按需要工作。PATH``JAVA_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
在變數名之前)。