gpt4 book ai didi

java - Cygwin 运行的 java 版本与 windows powershell 不同

转载 作者:行者123 更新时间:2023-12-01 23:15:42 24 4
gpt4 key购买 nike

我安装了多个版本的java。最近在测试时我注意到 cygwin 和 powershell 运行不同的版本,并认为这是我的路径的问题,但它看起来很奇怪。在 powershell 中我得到:

PS C:\Users\djpeaco> echo $env:JAVA_HOME
PS C:\Users\pavon> where.exe java
C:\Windows\System32\java.exe
PS C:\Users\pavon> C:\Windows\System32\java.exe -version
java version "1.7.0_45"
Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)

然后在 cygwin (bash) 中:

$ echo $JAVA_HOME

$ which java
/cygdrive/c/Windows/system32/java
$ /cygdrive/c/Windows/system32/java -version
java version "1.7.0_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) Client VM (build 24.51-b03, mixed mode)

我尝试重新启动两个外壳,以防出现一些环境变化而外壳没有注意到,但这并没有解决问题。此外,cmd.exe 的行为与 powershell 相同。有谁知道为什么在 cygwin 与 powershell 中运行完全相同的可执行文件最终会运行不同的 JVM?

最佳答案

Cygwin 是 32 位应用程序吗?如果 Cygwin 是 32 位,操作系统可能会将 c:\windows\system32 (真正的 64 位 System32 文件夹)重定向到 c:\windows\syswow64(32 位 System32 文件夹)。

比较c:\windows\system32中的java.exec:\windows\syswow64<中的java.exe/。他们可能会有所不同。

关于java - Cygwin 运行的 java 版本与 windows powershell 不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21241341/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com