我正在努力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_HOME
and 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
变量名称之前)。