【问题标题】:Paths to multiple JDK's in windows system variable PATHWindows系统变量PATH中多个JDK的路径
【发布时间】:2020-05-21 00:50:49
【问题描述】:

想象一下,在 Windows 7 上的 Path 变量中,我已经包含了我的 jdk 版本 8 的路径。现在我开始一个新项目,例如我使用 Java 11,并将 java 11 JDK 的 bin 的路径也添加到 Path 变量中。我想知道,在这种情况下,是否需要从 Path 变量中删除(旧)JDK 8 的路径才能正常工作?如果我把它留在那里,是否会为新项目选择正确的 Java 版本?而且:在我的 IDE 中,当创建一个新项目时,我也会选择要使用的 JDK。这个选择是用来做什么的,路径变量中 JDK 的规范是什么?我对操作系统不是很熟悉,所以请解释一下:)

【问题讨论】:

  • PATH 变量中的条目按给定顺序搜索 - 将启动第一个找到的可执行文件(Obs:如果使用完整路径,则不使用/不需要 PATH一个可执行文件 - 非常适合为一个程序使用另一个 java 版本,无需更改默认值)

标签: java windows path-variables


【解决方案1】:

1)系统的路径变量

path 变量定义了系统将在哪里搜索您在控制台/shell 上使用的可执行文件。

在操作系统的 path 变量中包含多个 JDK 是个坏主意。一个优先,你甚至不能(或不应该)确定它是哪一个。

如果您需要为不同的项目使用不同的 JDK,您可以创建一个脚本设置环境。对于 Windows,我们将其称为 configure.bat。打开 shell 时,您将首先运行该脚本来设置所有环境变量并可能启动所需的服务。

使用java -versionmvn version 之类的命令来检查您的shell 正在使用的JDK!

您也可以通过以不同方式配置 shell 实例来创建环境设置,但很遗憾,我无法向您提供任何详细信息。

还有一个选择...

2) IDE 的路径变量

在您的 IDE(Eclipse、IntelliJ)中,您还可以配置 JDK,更重要的是:您可以为特定的代码级别配置不同的 JDK,并且可以在每个项目上单独设置代码级别(或直接设置 JDK)。在 IDE 中工作时,您不需要运行配置脚本,IDE 会处理这些。不过要小心,在 IDE 中使用系统控制台时,您可能会退回到 1)。

3) Maven

您可以通过与 IDE 中类似的方式进行配置:

  • JDK (.m2/settings.xml)
  • 代码级别(项目的 pom.xml 或父 POM 之一)

使用 Maven 时。有关更多详细信息,请参阅: http://maven.apache.org/plugins/maven-compiler-plugin/examples/compile-using-different-jdk.html

这对于 Gradle 等其他构建管理工具应该是可能的。不过,我必须让您参考网络搜索。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-01
    • 2020-07-13
    • 2013-11-15
    • 2020-11-05
    • 1970-01-01
    • 2014-03-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多