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

标签 java freebsd java-home path-variables

我有脚本可以从此命令获取 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 机器的问题。

我也不想从 readlink -f $(which java) 的输出中应用任何解析,例如 awksed

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

相关文章:

java - 有没有办法在 Tomcat 上外部化 Spring [Boot] 应用程序的 log4j2 配置?

python - 如何在 FreeBSD 中默认设置 Python 版本?

c - 如何解决此编译器错误

java - 在ubuntu中实例化JAVA_HOME的各种方式有什么区别

android - Reactnative $JAVA_HOME 路径错误

java - 如何将 HashMap 复制到具有不同引用的 ArrayList

java - 使用递归从列表中获取所有组合,包括使用相同数字的组合

java - Elasticsearch 无法与 Docker 一起运行

kernel - 什么是中断线程?

heroku - 无法使用 RJB gem 将应用程序部署到 Heroku