【问题标题】:Change the default Java path to other path in FreeBSD将默认 Java 路径更改为 FreeBSD 中的其他路径
【发布时间】:2020-09-04 09:37:29
【问题描述】:

我有脚本可以从此命令获取 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) 的值。

【问题讨论】:

  • readlink 确实 not 报告了错误的路径。是否要将默认路径更改为其他内容?试试update-alternative
  • 您可能希望将unix 标记替换为您使用的实际Linux 风格(例如bsd)。
  • 你到底想在这里做什么?为什么这些路径很重要?
  • (正确的ln语法是ln -s <source> [destination]
  • @Ratnesh 这没有回答我的问题。 为什么你想这样做?

标签: java freebsd java-home path-variables


【解决方案1】:

您看到的是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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-18
    • 1970-01-01
    • 2013-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-05
    • 1970-01-01
    相关资源
    最近更新 更多