• mac 上使用jenv 管理的多个java 版本


    由于服务器是java1.7, mac上是1.8,因此mac编译的java代码会在服务器上报错。因此,需要修改mac上java版本,自己折腾了很久,放弃,决定使用jenv 管理! 结果是非常方便

    使用步骤:

    1、安装 jenv

    2、安装各个版本的java

    3、设置java路径

    4、关闭控制台,重新打开(restart a new console after adding configuring the jenv)

    5、 jenv local ***** (记住这个命令,经常使用。前面的步骤都是一劳永逸的。)

    下文是转载,感谢原作者。

    http://boxingp.github.io/blog/2015/01/25/manage-multiple-versions-of-java-on-os-x/

    基本使用:

    在Mac OS X下使用Homebrew安装jEnv:

    1
    
    $ brew install jenv
    

    安装成功后需要进行一下简单的配置,让它可以起作用:

    使用Bash的情况

    1
    2
    
    $ echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bash_profile
    $ echo 'eval "$(jenv init -)"' >> ~/.bash_profile
    

    使用Zsh的情况

    1
    2
    
    $ echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.zshrc
    $ echo 'eval "$(jenv init -)"' >> ~/.zshrc
    

    好了,jEnv已经安装好了,让我们来看一下它找见哪个Java版本了:

    1
    2
    
    $ jenv versions
    * system (set by /Users/bxpeng/.jenv/version)
    

    它只找到了系统默认的Java,即使我已经下载了其他版本的Java。*表示当前选择的版本。

    和rbenv不同的是,jEnv不能自己安装任何版本的Java,所以需要我们手动安装好之后再用jEnv指向它们。

    安装Java 6,需要在Apple进行下载。它将安装到/System/Library/Java/JavaVirtualMachines/下; 安装Java 7,可以在Oracle进行下载.它将安装到/Library/Java/JavaVirtualMachines/下; 安装Java 8,可以在Oracle进行下载.它将安装到/Library/Java/JavaVirtualMachines/下。

    使用jenv add将Java 6加入jenv中:

    1
    2
    3
    4
    
    $ jenv add /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/
    1.6 added
    1.6.0.65 added
    oracle64-1.6.0.65 added
    

    运行jenv versions时会显示:

    1
    2
    3
    4
    5
    
    $ jenv versions
    * system (set by /Users/bxpeng/.jenv/version)
      1.6
      1.6.0.65
      oracle64-1.6.0.65
    

    同样的,使用jenv add将Java 7加入jenv中:

    1
    2
    3
    4
    
    $ jenv add /Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home/
    1.7 added
    1.7.0.71 added
    oracle64-1.7.0.71 added
    
    1
    2
    3
    4
    
    $ jenv add /Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/
    1.8 added
    1.8.0.25 added
    oracle64-1.8.0.25 added
    

    现在运行jenv versions会显示:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    
    $ jenv versions
    * system (set by /Users/bxpeng/.jenv/version)
      1.6
      1.6.0.65
      oracle64-1.6.0.65
      1.7
      1.7.0.71
      oracle64-1.7.0.71
      1.8
      1.8.0.25
      oracle64-1.8.0.25
    

    对于博主这种不是处女座的人来说,也觉得需要对版本再管理一下,使用jenv remove可以从jEnv中去掉不需要的Java版本:

    1
    2
    
    $ jenv remove 1.6
    JDK 1.6 removed
    

    整理后,再运行jenv versions会显示:

    1
    2
    3
    4
    5
    
    $ jenv versions
    * system (set by /Users/bxpeng/.jenv/version)
      1.6.0.65
      1.7.0.71
      1.8.0.25
    

    选择一个Java版本,运行jenv local,例如:

    1
    2
    3
    4
    5
    
    $ jenv local 1.8.0.25
    $ java -version
    java version "1.8.0_25"
    Java(TM) SE Runtime Environment (build 1.8.0_25-b17)
    Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed mode)
    

    DangDangDangDang,我们已经成功地指定了某文件夹中local的Java版本。

    你可以运行jenv global设置一个默认的Java版本,运行jenv which java显示可执行的Java的完整路径。

    你也可以在特定的文件夹下使用.java-version文件来设定Java的版本。当我需要在Project中使用Java 6时,我仅仅需要把1.6.0.65作为内容保存在.java-version文件中,当我进入该文件夹时jEnv会自动地帮助我设定local的Java的版本。

    没错,我们现在有了Java的多个版本,并且可以在它们之间轻松切换。更多的使用方法可以在jEnv官网的官网查询到。

  • 相关阅读:
    JAVA基础-抽象类和接口
    JAVA基础-多态
    JAVA基础-继承机制
    C++(二十七) — 深拷贝、浅拷贝、复制构造函数举例
    C++(二十六) — 构造函数、析构函数、对象数组、复制构造函数
    C++(二十五) — 类的封装、实现、设计
    C++(二十四) — 指向字符的指针为什么可以用字符串来初始化,而不是字符地址?
    C++(二十三) — 内存泄漏及指针悬挂
    C++(二十二) — 指针变量、函数指针、void指针
    C++(二十一) — 引用概念及本质
  • 原文地址:https://www.cnblogs.com/xingzifei/p/6094696.html
Copyright © 2020-2023  润新知