我的 Java 环境变量似乎一团糟,如何在不重新安装的情况下重新开始?

我的 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

答案1

你的PATH变量搞砸了,我不知道为什么你应该需要JRE_HOME, JAVA_BINDIR, JDK_HOMEand JAVA_ROOT。一般来说,您只需要java您的二进制文件PATHJAVA_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变量名称之前)。

相关内容