我正在尝试将用户添加到WildFly服务器,但收到错误:
./add-user.sh: 1: eval:/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java/bin/java: 未找到
我想我需要更改.conf
文件中的JAVA_HOME
位置,但在wildfly/bin
目录的.conf
文件中这样做了。如何解决此问题?
add-user.sh
脚本没有源任何配置文件,因此您必须通过环境提供 Java 二进制文件。
您可以通过多种方式执行此操作:
-
通过指向
java
可执行文件的JAVA
变量:export JAVA=/path/to/jdk_install/bin/java ./add-user.sh [...]
-
通过指向 Java 安装目录的
JAVA_HOME
变量:export JAVA_HOME=/path/to/jdk_install/ ./add-user.sh [...]
-
通过将 Java 的安装
bin
目录包含在您的PATH
中:export PATH="/path/to/jdk_install/bin:$PATH" ./add-user.sh [...]
请注意,这些可能会因 WildFly 或 JBoss EAP 版本而异;我从阅读wildfly-8.1.0.Final
安装的脚本中收集了这些内容。
如果您不确定这是否适用于您自己的版本,并且如果您对 shell 脚本有最基本的了解,您应该检查您自己的脚本:它们只有几十行长,并且注释很好。
你的 java 路径是错误的。 您可以观察到在下面的行中有额外的"/bin/java"。您应该删除它。
./add-user.sh: 1: eval:/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java/bin/java: 未找到
为此,请在 adduser.sh/.bat 文件中替换
# Setup the JVM
if [ "x$JAVA" = "x" ]; then
if [ "x$JAVA_HOME" != "x" ]; then
JAVA="$JAVA_HOME/bin/java"
else
JAVA="java"
fi
fi
自
# Setup the JVM
if [ "x$JAVA" = "x" ]; then
if [ "x$JAVA_HOME" != "x" ]; then
JAVA="$JAVA_HOME"
else
JAVA="java"
fi
fi
这对我来说是魔术。