【问题标题】:IntelliJ IDEA terminal java version issueIntelliJ IDEA终端java版本问题
【发布时间】:2023-03-28 11:27:01
【问题描述】:

我在 IntelliJ IDEA 编译器设置中遇到了一些问题。 我安装了 JDK 8,idea 中的一个项目仅适用于 JDK 6。

我已经在首选项-> Java编译器页面中更改了idea中的编译器版本并重新启动了idea。

我面临的问题是,idea Terminal 上的版本没有更新。除了在idea中设置.profile中的JAVA_HOME之外还有什么方法可以解决这个问题?

【问题讨论】:

    标签: java intellij-idea javac


    【解决方案1】:

    是的,您可以在首选项 > 工具 > 终端 > 环境变量中进行设置。

    此设置适用于当前项目。因此,您可以为每个项目设置不同的值。

    需要注意的是,每当您修改项目的 JDK(尤其是主要版本升级)时,您必须记住更新它。

    该设置将在您下次打开新终端(或重新启动 IDE)时进行。

    【讨论】:

      【解决方案2】:

      我会说它按预期工作。您仅更改了 IntelliJ IDEA 的编译器版本,因此它会影响 IntelliJ IDEA 中的编译过程。此设置不会(也不应该)影响您的终端会话环境。您可以在 File -> Settings -> Tools -> Terminal -> Shell path 中更改 shell 启动参数。由于可以按项目设置此设置(但据我了解,不能按模块设置),因此您可以在那里指定项目特定的设置。我不确定是否可以在那里传递一些特定于项目的变量,并且您可能必须对参数进行硬编码,但在简单的情况下,它可以更改,例如,cmd.exe /k echo WELCOME(在我的 Windows 机器上)或其他东西bash 类似。

      【讨论】:

      • 谢谢,我可以更新 shell 路径设置以指向 JSK 1.6 吗?
      • 我搞定了,我在设置 -> 工具 -> 终端 -> 外壳路径“zsh && export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.6/Contents/Home”中使用了以下命令
      【解决方案3】:

      简而言之:您看到的是两种不同的东西。

      IntelliJ 中的终端实际上​​是一个操作系统终端;它会在你的“路径”中寻找java可执行文件(在Windows上用%PATH%表示,在*nix上用$PATH表示)。

      另一方面,屏幕截图中显示的设置描述了应该为您的项目生成哪种类型的编译字节码。 Java 编译器可以为早期版本的 Java VM 生成字节码。在这种情况下,您要求 IntelliJ 使用的 Java 编译器生成可以在 Java 6 VM 上运行的代码,无论使用哪个版本的 Java 来运行 IntelliJ 本身。

      【讨论】:

      • 即使是 java -version 我也看到相同的版本 1.8
      【解决方案4】:

      IDE 中的编译器版本与终端使用的编译器版本无关。

      我建议在您的 .bashrc 中创建一个函数,以允许通过导出相关路径在 jdk6 和 jdk8 之间切换。

      然后,当需要时,您可以简单地从终端调用该函数(无论是否在 IDE 内部)并切换到相应的 jdk。

      【讨论】:

        猜你喜欢
        • 2019-02-27
        • 1970-01-01
        • 2019-04-09
        • 1970-01-01
        • 2016-09-20
        • 1970-01-01
        • 1970-01-01
        • 2017-07-09
        • 2020-06-01
        相关资源
        最近更新 更多