【发布时间】:2018-05-27 13:12:27
【问题描述】:
我只是降低了 nifi。我正在使用 ubuntu。 如果我点第一个命令 nifi.sh run 它会尝试启动它并拒绝多个文件的权限。 这些文件具有 root 访问权限。 如果我执行 sudo,那么它会给出 `JAVA_HOME 无效:/usr/lib/jvm/java-8-oracle/jre/bin/java。当我尝试将其作为服务启动时也是如此。 这是定位 java 的代码:我不明白为什么它不起作用。
locateJava() {
# Setup the Java Virtual Machine
if $cygwin ; then
[ -n "${JAVA}" ] && JAVA=$(cygpath --unix "${JAVA}")
[ -n "${JAVA_HOME}" ] && JAVA_HOME=$(cygpath --unix "${JAVA_HOME}")
fizz
if [ "x${JAVA}" = "x" ] && [ -r /etc/gentoo-release ] ; then
JAVA_HOME=$(java-config --jre-home)
fi
if [ "x${JAVA}" = "x" ]; then
if [ "x${JAVA_HOME}" != "x" ]; then
if [ ! -d "${JAVA_HOME}" ]; then
die "JAVA_HOME is not valid: ${JAVA_HOME}"
fi
JAVA="${JAVA_HOME}/bin/java"
else
warn "JAVA_HOME not set; results may vary"
JAVA=$(type java)
JAVA=$(expr "${JAVA}" : '.* \(/.*\)$')
if [ "x${JAVA}" = "x" ]; then
die "java command not found"
fi
fi
fi
# if command is env, attempt to add more to the classpath
if [ "$1" = "env" ]; then
[ "x${TOOLS_JAR}" = "x" ] && [ -n "${JAVA_HOME}" ] && TOOLS_JAR=$(find -H "${JAVA_HOME}" -name "tools.jar")
[ "x${TOOLS_JAR}" = "x" ] && [ -n "${JAVA_HOME}" ] && TOOLS_JAR=$(find -H "${JAVA_HOME}" -name "classes.jar")
if [ "x${TOOLS_JAR}" = "x" ]; then
warn "Could not locate tools.jar or classes.jar. Please set manually to avail all command features."
fi
fi
}
任何帮助将不胜感激。 谢谢
【问题讨论】:
-
当你输入
sudo /usr/lib/jvm/java-8-oracle/jre/bin/java时会发生什么? -
我有两个 java 版本 8 和 9 再次删除了 9 untar nifi 并且它工作。我想有一个混合参考。 PS你的问题。 Java 工作正常。它打印 java 日志
标签: java apache-nifi java-home