如何在Windows Git Bash中设置Java版本?

28

如何在Windows Git Bash中设置要使用的Java版本?是否可以通过环境变量来实现?在DOS命令提示符中,Java -version显示的版本与Git Bash中不同...


你是如何解决这个问题的? - Thermech
4
我已正确设置了PATH和JAVA_HOME,但Git Bash仍然显示旧的Java版本。我正在运行64位Win 7,问题在于我在路径“C:\Program Files (x86)\Java\jre7\bin”下有一个旧的32位版本。出于某种原因,尽管没有明确从任何地方引用它,但它被Git Bash捕获。 - Mareen
这里也有同样的问题。在“正常”的命令行提示符中,JAVA_HOME指向jdk8。但是在Git Shell中,如果我编译一个Android项目,它会抱怨JAVA_HOME指向jre8。 - Thomas
5个回答

34

假设你想尝试其他Java版本,但又不想更改Windows环境变量。

步骤:

  • 进入你的主目录,例如C:\Users\MyAccountName。
  • 编辑 .bashrc 文件并在下面添加以下代码。

    #For example:
    export JAVA_HOME='/c/Program Files (x86)/Java/jdk1.8.0_45'
    export PATH=$JAVA_HOME/bin:$PATH
    
  • .bashrc 和 .bash_profile 是在 git-bash 安装过程中创建的文件。


如果您只想为特定的shell脚本更改Java版本,您也可以在shell脚本中使用这两个语句(由git bash执行)。在我的情况下,这很有效。 - some_coder

12

您没有设置Java版本。 您正在寻找环境中的$PATH以及Windows / DOS / cmd.exe环境中的%PATH%。当您运行java -version命令时,shell会在$PATH目录中搜索java程序并使用给定的参数运行它。如果您在不同的shell中获得不同的结果,则意味着您拥有不同的路径,因此会发现不同版本的Java。


请编辑您的 $HOME/.bashrc 或 $HOME/.login 文件。有关 bash 如何处理启动配置的详细信息,请参阅 man bash - dsh
14
为了后人:export PATH="/c/Program Files/Java/<jdk>/bin:$PATH" 意思是将/c/Program Files/Java/<jdk>/bin目录添加到环境变量$PATH的开头。 - Omri Spector

1

前往您想要临时设置Java路径的位置。执行以下命令。 export PATH="/c/Program Files/Java/jdk-11.0.1/bin:$PATH"

在jdk-11.0.1的位置使用您想要的JDK版本。


1
  1. 进入系统属性 ->高级 ->环境变量
  2. 新建系统变量
  3. '变量名': PATH
  4. '变量值': C\Program Files\Java\jdk-9\bin (或者你的路径)
  5. 重新启动 Git Bash

(Windows 10)


我最终也是这么做的。对于多个JDK,使用找到的第一个JDK,即通过重新排列路径来在JDK之间切换似乎更容易些。 - Constantin Konstantinidis

1
是的,环境变量会影响Git Bash中使用的Java版本。但是,如果设置$JAVA_HOME和$PATH变量似乎没有起作用,请尝试以下步骤:
  1. 进入Git Bash安装文件夹(通常为C:\Program Files\Git)
  2. 进入usr/bin文件夹,即C:\Program Files\Git\usr\bin
  3. 应该有一个名为“java”的文件。将其重命名为“notjava”。
  4. 现在按照其他答案中所述设置PATH变量。即

    export JAVA_HOME='{yourjavahome}'

  5. 重新启动Git Bash。

这就是我成功的方法。我正在使用Git for Windows v2.17.0。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接