【问题标题】:Jenv - same java version added multiple timesJenv - 多次添加相同的java版本
【发布时间】:2015-10-27 17:31:42
【问题描述】:

我正在使用Jenv 在我的 MacBook(OS X Yosemite) 上管理多个 java 版本。

jenv add /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
oracle64-1.6.0.65 added
1.6.0.65 added
1.6 added

同时添加 Java 1.8

jenv add /Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home
oracle64-1.8.0.60 added
1.8.0.60 added
1.8 added

和 jenv 版本显示同一版本的多行实际上是一个版本?

jenv versions

    * system (set by /Users/$USERNAME/.jenv/version)
      1.6
      1.6.0.65
      1.8
      1.8.0.60
      oracle64-1.6.0.65
      oracle64-1.8.0.60

【问题讨论】:

    标签: java macos jenv


    【解决方案1】:

    如果您查看 .jenv 文件夹,您可以看到同一版本的所有三个不同实例。

    【讨论】:

    • 是的,但为什么呢?例如:对于一个版本,为什么它重复说 1.6 , 1.6.065, oracle64-1.6.0.65
    • 1.6 为主要版本,其他为次要版本。如果您有任何与主要版本相关的错误并想使用特定的固定版本,您可以切换到 1.6.0.XX 或使用特定 oracle 版本或任何其他版本的版本。
    【解决方案2】:

    我编写了一个脚本来处理我的 JEnv 环境。

    # configure Java  http://www.jenv.be/
    # install Java: brew cask install java, brew cask install java7
    # set global default: setJavaGlobal 1.7, jenv global 1.7
    # set local folder default: jenv local 1.8
    # 
    JENV_HOME=$HOME/.jenv
    export PATH=.:$PATH:$JENV_HOME/bin
    eval "$(jenv init -)"
    #export JAVA_HOME=$(/usr/libexec/java_home)
    export JAVA_HOME="$HOME/.jenv/versions/`jenv version-name`"
    alias jenv_set_java_home='export JAVA_HOME="$HOME/.jenv/versions/`jenv version-name`"'
    setJavaGlobal() { 
      jenv global $1;
      jenv_set_java_home
      echoJavaSetup
    }
    setJavaLocal() { 
      jenv local $1;
      jenv_set_java_home
      echoJavaSetup
    }
    echoJavaSetup() {
      echo --------------------
      echo NEW JAVA SETUP:
      echo "  PATH: $PATH"
      export JAVA_VERSION=`java -version 2>&1 >/dev/null | grep 'java version' | awk '{print $3}'`
      echo "  JAVA: $JAVA_VERSION, $JAVA_HOME"
      jenv versions
      echo --------------------
    }
    removeJavaLocal() {
      rm -rf ./.java-version
    }
    showJava() {
      echo --------------------
      echo EXISTING JAVA SETUP:
      echo "  PATH: $PATH"
      export JAVA_VERSION=`java -version 2>&1 >/dev/null | grep 'java version' | awk '{print $3}'`
      echo "  JAVA: $JAVA_VERSION, $JAVA_HOME"
      jenv versions
      if [ -f ./.java-version ]; then
        echo "Using Java LOCAL DEFAULT.  Not using global default!  Run command 'removeJavaLocal' to change to global default."
      fi
      echo --------------------
    }
    

    【讨论】:

      猜你喜欢
      • 2015-04-21
      • 1970-01-01
      • 1970-01-01
      • 2015-01-20
      • 2022-08-18
      • 2012-09-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多