我有脚本可以从此命令获取 java 路径:readlink -f $(which java)
。
但它显示错误的路径:/usr/local/bin/javavm
虽然我需要这条路径:/usr/local/openjdk8/bin/java
我尝试给出导出命令:export JAVA_HOME=/usr/local/openjdk8/,但问题仍然存在。
我也试过这篇文章:https://stackoverflow.com/a/39691105/10220825
和这篇文章:https://askubuntu.com/a/554052/905016
我也试过:sudo ln -s/usr/local/bin/javavm/usr/local/openjdk8/bin/java
但结果是,ln:/usr/local/openjdk8/bin/java: File exists
并且问题保持不变。
我不想对其进行硬编码,我也不想使用其他命令,如 which java
或 echo $JAVA_HOME
因为脚本在 Linux 中获得了预期的结果,但仅FreeBSD 机器的问题。
我也不想从 readlink -f $(which java)
的输出中应用任何解析,例如 awk
或 sed
。
有人可以建议我如何更改 readlink -f $(which java)
的值。
最佳答案
您看到的是 documented behaviour on FreeBSD .
如果要选择特定的 Java 版本,请设置 JAVA_VERSION
环境变量,例如:
JAVA_VERSION=8+ javac MyClass.java
如果您想了解正在运行的版本,请设置 JAVAVM_DRYRUN=yes
:
JAVAVM_DRYRUN=yes java
JAVAVM_DRYRUN=yes JAVA_VERSION=11 java
关于java - 将默认的 Java 路径更改为 FreeBSD 中的其他路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63738605/