У меня есть несколько версий java. Недавно во время тестирования я заметил, что cygwin и powershell работают под разными версиями, и полагали, что это проблема с моим путем, но это выглядит чем-то странным. В PowerShell я получаю:Cygwin запускает другую версию java, чем windows 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 (Баш):
$ 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)
Я попытался restaring как раковины, в случае, если было какое-то изменение окружающей среды, что один не поднял, но не решила проблему. Кроме того, cmd.exe ведет себя так же, как powershell. Кто-нибудь знает, почему запуск одного и того же исполняемого файла в cygwin vs powershell закончится запуском разных JVM?
Спасибо за быстрый ответ! Это было именно то, что происходило. – pavon