将默认的Java路径更改为FreeBSD中的其他路径

问题描述

我具有从以下命令获取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 javaecho $JAVA_HOME,因为该脚本在Linux中获得了预期的结果,但仅是FreeBSD机器的问题。

我也不想从awk的输出中应用任何类似sedreadlink -f $(which java)的解析。

有人可以建议我如何更改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

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...