我的 mac 上安装了 java 7u75 但在命令行 java -version 还是 1.6.0 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
binarymann
V2EX    Java

我的 mac 上安装了 java 7u75 但在命令行 java -version 还是 1.6.0

  •  
  •   binarymann 2015-04-02 08:00:02 +08:00 9653 次点击
    这是一个创建于 3850 天前的主题,其中的信息可能已经有所发展或是发生改变。
    请问要如何切换版本呢

    java -version
    java version "1.6.0_65"
    Java(TM) SE Runtime Environment (build 1.6.0_65-b14-462-11M4609)
    Java HotSpot(TM) 64-Bit Server VM (build 20.5-b04-462, mixed mode)
    20 条回复    2015-04-02 12:46:44 +08:00
    binarymann
        1
    binarymann  
    OP
       2015-04-02 08:04:46 +08:00
    我 `export JAVA_HOME='/usr/libexec/java_home -v 1.7'` 后重启terminal java -version 后还是java version "1.6.0_65"
    Septembers
        2
    Septembers  
       2015-04-02 08:08:21 +08:00 via Android
    which java
    soyking
        3
    soyking  
       2015-04-02 08:15:02 +08:00 via Android
    不是得export JAVA_HOME='你java7的地址'?
    caixiexin
        4
    caixiexin  
       2015-04-02 08:16:19 +08:00
    3l说的应该没错,你环境变量指向的还是机器自带的旧版本吧。
    znoodl
        5
    znoodl  
       2015-04-02 08:16:52 +08:00 via iPad
    你设置javahome只是JAVA运行中的环境变量,term中运行的需要加入path才有效吧
    livelazily
        6
    livelazily  
       2015-04-02 08:27:08 +08:00
    @binarymann 你这 export 仅仅是在 terminal 运行一次还是写到 profile 里? 直接在 terminal 里运行是当前 terminal 内生效, 重启 terminal 后就会恢复了... 不熟悉的话建议用 jenv 管理: http://www.jenv.be/
    binarymann
        7
    binarymann  
    OP
       2015-04-02 08:36:47 +08:00
    @soyking
    @caixiexin

    对,我的1.7明明提示安装成功了,但ibrary/java/JavaVirtualMachines下面是空的...
    caixiexin
        8
    caixiexin  
       2015-04-02 08:43:30 +08:00
    @binarymann mac下我不大清楚,ubuntu下面,我都是下载tar.gz或者zip压缩包,解压后,把环境变量指向到解压后的bin文件夹,配一下JAVA_HOME,然后source或者重启一下就好了。
    tan9le
        9
    tan9le  
       2015-04-02 08:47:59 +08:00
    google一下jEnv用法
    fvladlpa
        10
    fvladlpa  
       2015-04-02 08:48:48 +08:00
    应该是$PATH的问题
    xuhaoyangx
        11
    xuhaoyangx  
       2015-04-02 08:53:54 +08:00
    @binarymann /usr/libexec/java_home -V 查看机子上所有的java,和路径
    binarymann
        12
    binarymann  
    OP
       2015-04-02 09:07:16 +08:00
    @xuhaoyangx 太奇怪了,居然没有1.7,但我通过jre-7u75-macosx-x64.dmg明明安装成功了的呀

    /usr/libexec/java_home -V
    Matching Java Virtual Machines (2):
    1.6.0_65-b14-462, x86_64: "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
    1.6.0_65-b14-462, i386: "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
    SoloCompany
        13
    SoloCompany  
       2015-04-02 09:22:10 +08:00   1
    @binarymann 你要装 JDK,jre 没有安装到系统 framework 下面的,你看 java control panel 就知道了,是装到这个位置 '/Library/Internet Plug-Ins/JavaAppletPlugin.plugin’ 并且没有多个版本的

    顺便

    /usr/libexec/java_home -V
    Matching Java Virtual Machines (4):
    1.8.0_25, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home
    1.7.0_72, x86_64: "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_72.jdk/Contents/Home
    1.6.0_65-b14-466.1, x86_64: "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
    1.6.0_65-b14-466.1, i386: "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home

    /Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home


    /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java -version
    java version "1.8.0_31"
    Java(TM) SE Runtime Environment (build 1.8.0_31-b15)
    Java HotSpot(TM) 64-Bit Server VM (build 25.31-b07, mixed mode)
    laoyur
        14
    laoyur  
       2015-04-02 09:47:23 +08:00
    xFan
        15
    xFan  
       2015-04-02 09:54:01 +08:00
    环境变量没指向正确的地址
    wanliang1221
        16
    wanliang1221  
       2015-04-02 09:59:39 +08:00
    查看环境变量,虽然我不知道MAC上时如何配置的。
    binarymann
        17
    binarymann  
    OP
       2015-04-02 10:00:28 +08:00
    @SoloCompany 这个绝对是正确方向,原来如此,我晚上回去试下
    yuankui
        18
    yuankui  
       2015-04-02 10:29:05 +08:00
    `export JAVA_HOME='/usr/libexec/java_home -v 1.7'` 改成
    export JAVA_HOME=`'/usr/libexec/java_home -v 1.7'`
    yuankui
        19
    yuankui  
       2015-04-02 10:29:22 +08:00
    你点打错了,你不知道吗?
    FinalAir
        20
    FinalAir  
       2015-04-02 12:46:44 +08:00
    function setjdk() {
    if [ $# -ne 0 ]; then
    removeFromPath '/System/Library/Frameworks/JavaVM.framework/Home/bin'
    if [ -n "${JAVA_HOME+x}" ]; then
    removeFromPath $JAVA_HOME
    fi
    export JAVA_HOME=`/usr/libexec/java_home -v $@`
    export PATH=$JAVA_HOME/bin:$PATH
    fi
    }

    function removeFromPath() {
    export PATH=$(echo $PATH | sed -E -e "s;:$1;;" -e "s;$1:?;;")
    }

    setjdk 1.7

    所有版本都可以任意转换
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1132 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 17:55 PVG 01:55 LAX 10:55 JFK 13:55
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86