【问题标题】:Switching Java 11 for Java 8 on the server在服务器上将 Java 11 切换为 Java 8
【发布时间】:2021-08-04 08:44:18
【问题描述】:

所以我看过一堆关于从 Java 8 切换到 Java 11 的教程,但实际上我需要做相反的事情。而且我是在服务器上做的,所以我只能使用 bash。

我完全不知道该怎么做。有什么帮助吗?

【问题讨论】:

  • 1) 安装 Java 8;例如使用sudo apt install .... 2) 使用set-alternatives 将Java 8 设为默认值。 (有关更多信息……我希望您看到的那些教程解释了如何安装 Java 和使用 set-alternatives。)
  • 请不要发布文字图片。它们不可搜索,我们无法复制粘贴...始终复制粘贴文本并正确格式化。在提出此类问题时,请不要忘记添加所需的信息。当然,我们可以通过查看java --version 的输出消息来猜测您使用的是什么操作系统,但是清楚地说明它会更容易和更有用。

标签: java linux bash


【解决方案1】:

您可以运行此命令并选择 java 版本:

sudo update-alternatives --config java

【讨论】:

  • 您确定这也会将所有其他可执行文件(例如jarjavap 等)切换到其他版本吗?
  • 当然,因为你的java环境变量的路径会改变,任何与之相关的影响也会改变
  • 我想如果你调查一下你会发现情况并非如此。此外,update-alternatives 适用于符号链接,并且 java“环境变量”仅在基于 Debian 的系统上明确设置,因此无法进入等式。它当然不适合我(使用 actual Debian)以批发方式在版本之间切换。它只是切换一个可执行文件
  • 我会详细了解您的情况,希望您早日找到答案
【解决方案2】:

这是我在我的 Debian 系统上所做的:

alias j8='export JAVA_HOME=/usr/lib/jvm/bellsoft-java8-full-amd64;export PATH=$JAVA_HOME/bin:$PATH'

这将确保 所有 可执行文件具有相同的版本,并且比 update-alternatives 容易得多,即使它确实 工作(请参阅我的 cmets 下面的另一个答案) 或update-java-alternatives 并且不易出错

【讨论】:

    【解决方案3】:

    我用这个工具SdkMan InstallSkMan manual

    skd list java
    

    打印可用的java版本,你可以用类似的命令安装它

    sdk install java 8.0.292.hs-adpt
    

    使用 sdkman 安装 java 版本后,将 java Home 设置为

    export JAVA_HOME=~/.sdkman/candidates/java/current
    export PATH=$JAVA_HOME/bin:$PATH
    

    您可以根据需要安装多个 java 版本并设置默认版本

    sdk default java 8.0.292.hs-adpt
    

    如果你使用 maven 或 gradle 从 sdkman 安装它们,因为这样会自动检测版本切换。

    如果您只想为特定项目切换 java 版本,请查看手册中的 env 和 .sdkmanrc 部分。当你 cd 进入一个目录时它会切换版本,当你 cd out 时它会返回默认值。

    【讨论】:

      猜你喜欢
      • 2019-04-07
      • 2021-09-25
      • 2012-04-15
      • 2014-09-16
      • 2023-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-23
      相关资源
      最近更新 更多