简体   繁体   English

Cygwin中Java的不同版本

[英]Different version of Java in cygwin

Today I installed cygwin and I was checking my JAVA HOME and other settings and I found out very strange thing.. 今天我安装了cygwin,当时我正在检查JAVA HOME和其他设置,但发现很奇怪。

When I do, echo $JAVA_HOME , I always get C:\\Java\\jdk1.6.0_26 which is fine and that's what I have already set to jdk1.6.0_26 in my environment variables as well but when I do java -version, I always get different version of java, I always see 1.7.. 当我这样做时, echo $JAVA_HOME ,我总会得到C:\\Java\\jdk1.6.0_26 ,这也是我已经在环境变量中设置为jdk1.6.0_26 ,但是当我执行java -version时,我总是得到不同版本的Java,我总是看到1.7 ..

uname@D-PHC-22334455 /cygdrive/c
$ echo $JAVA_HOME
C:\Java\jdk1.6.0_26

uname@D-PHC-22334455 /cygdrive/c
$ which java
/cygdrive/c/WINDOWS/system32/java

uname@D-PHC-22334455 /cygdrive/c
$ java -version
java version "1.7.0_25"
Java(TM) SE Runtime Environment (build 1.7.0_25-b17)
Java HotSpot(TM) Client VM (build 23.25-b01, mixed mode)

I have already checked my PATH variables and JAVA_HOME as well.. Both are pointing to jdk1.6 Can anybody explain what wrong has happened? 我已经检查了我的PATH变量和JAVA_HOME。.都指向jdk1.6有人可以解释发生了什么错误吗?

Below is my PATH variable- 以下是我的PATH变量-

uname@D-PHC-22334455 /cygdrive/c
$ echo $PATH
/usr/local/bin:/usr/bin:/cygdrive/c/Java/jdk1.6.0_26:/cygdrive/c/Program Files (x86)/DataStax Community/python:/cygdrive/c/Users/uname/openssl/bin:/cygdrive/c/Python27:/cygdrive/c/Python27/Scripts:/cygdrive/d/app/uname/product/11.1.0/db_1/bin:/cygdrive/c/apache-maven-3.0.4-bin/apache-maven-3.0.4/bin:/cygdrive/c/Program Files (x86)/IBM/RationalSDLC/Clearquest/cqcli/bin:/cygdrive/c/Perl64/bin:/cygdrive/c/WINDOWS/system32:/cygdrive/c/WINDOWS:/cygdrive/c/WINDOWS/System32/Wbem:/cygdrive/c/WINDOWS/System32/WindowsPowerShell/v1.0:/cygdrive/c/Perl64/bin:/cygdrive/c/Program Files (x86)/Perforce:/cygdrive/c/Program Files (x86)/IBM/RationalSDLC/ClearCase/bin:/cygdrive/c/Program Files (x86)/IBM/RationalSDLC/common:/cygdrive/d/ede-5.1.1/apache-ant-1.7.1.2008.06.27/bin:/cygdrive/c/Program Files (x86)/Git/cmd:/usr/bin:/cygdrive/c/Program Files/Common Files/Hitachi ID:/cygdrive/c/Eclipse-C++/MinGW:/etc/alternatives:%APPDATA%/Python/Scripts

So the Java installed must be Java 1.7.0_25 as it says in 所以安装的Java必须是Java 1.7.0_25

uname@D-PHC-22334455 /cygdrive/c
$ which java
/cygdrive/c/WINDOWS/system32/java

even though your PATH points to C:\\Java\\jdk1.6.0_26 . 即使您的PATH指向C:\\Java\\jdk1.6.0_26

/Windows/system32 is always searched first. 始终首先搜索/Windows/system32

为什么不尝试将Java文件/cygdrive/c/WINDOWS/system32/java重命名为/cygdrive/c/WINDOWS/system32/java.back然后再次添加(如果仍然无法使用)java路径路径:
export JAVA_HOME="/cygdrive/c/Java/jdk1.6.0_26"
export PATH="$PATH:$JAVA_HOME/bin"

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM