Home/ source ~/.bash_profile jdk8 source ~/.bash_profile java -version echo $JAVA_HOME brew install jenv echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bash_profile echo 'eval "$(jenv init -)"' >> ~/.bash_profile jenv versions jenv add /Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home/ jenv versions jenv remove 1.6 jenv local 1.8.0.25 java -version jenv which java 完整路径
0x00 本文主要记录mac上jenv管理多版本java的坑; 前提是配置好brew镜像,确保brew update会正常执行而不是卡住。 0x01 安装jenv brew install jenv # 添加jenv环境变量,修改用户文件夹下对应的~/.bash_profile或者~/.zhsrc export PATH="$HOME/.jenv /bin:$PATH" eval "$(jenv init -)" # 如果遇到类似报错, xxxx/.jenv/versions/openjdk64-1.8.0.422: No such file or 管理java jenv add /Library/Java/JavaVirtualMachines/openjdk-8.jdk/Contents/Home jenv add /Library/Java -21.jdk/Contents/Home 0x05 使用jenv指定java # 查看可用java jenv versions # 全局 jenv global 21 # 当前目录 jenv local
偶然发现Java也有个类似的框架,叫jenv。遗憾的是jenv目前只支持MacOS和Linux。暂时没有适配Windows。 在jenv的Issue中看到一个讨论,但没有结论() 值得一提的好消息是,一位大佬fork了jenv实现了一个Windows版本.. 坏消息是,Windows版本最新更新是一年前() so? (jenv issue关于支持Windows的讨论): https://github.com/jenv/jenv/issues/35 2. (大佬fork jenv仓库实现的Window版): https://github.com/FelixSelter/JEnv-for-Windows/
我们需要更加便捷,细粒度的控制工具,这里推荐JEnv这款工具。 JEnv工具使用 如官网所说JEnv是一款让你忘记如何配置JAVA_HOME的神器,使用简单的命令就可以在不同Java版本之间进行切换。 JEnv的安装 在Mac OS下可使用Homebrew安装JEnv: brew install jenv 等待上述命令安装成功后,还需在.bash_profile中进行一下配置。 还是以现在的Java 8和Java 9环境为例,我们通过jenv add命令将对应的Java路径添加到jenv中: $ jenv add /Library/Java/JavaVirtualMachines JEnv的使用 完成了上述安装,便可以通过命令来切换所使用的Java版本了: $ jenv local 1.8.0.151 /usr/local/Cellar/jenv/0.5.5_2/libexec/ not use java version set by jenv [OK] Java binaries in path are jenv shims [OK] Jenv is correctly loaded
jenv有点类似node的nvm之类的用来管理多版本 安装 brew install jenv echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.zshrc echo 'eval "$(jenv init -)"' >> ~/.zshrc mkdir -p ~/.jenv/versions 注册java版本 jenv add /Library/Java/ /Contents/Home jenv add /Library/Java/JavaVirtualMachines/jdk-10.jdk/Contents/Home 查看版本 jenv versions ,jenv可以作用到之后新打开的窗口。 doc jenv java-environment-management jenv add “ln No such file or directory” #167 Unix / Linux Shell
答案是我们可以通过jenv来实现相同的效果。 安装 jEnv 安装 jEnv $ brew install jenv $ exec $SHELL -l 安装完成之后,然后检查是否安装成功。 $ jenv doctor [OK] No JAVA_HOME set [ERROR] Java binary in path is not in the jenv shims. =zsh export JENV_LOADED=1 unset JAVA_HOME source '/usr/local/Cellar/jenv/0.5.2/libexec/libexec/.. /completions/jenv.zsh' jenv rehash 2>/dev/null jenv() { typeset command command="$1" if [ "$#" 中的JDK版本: $ jenv shell 1.8 $ java -version 参考链接 http://www.jenv.be/ https://github.com/jenv/jenv https
本文介绍macOS下使用HomeBrew和jEnv进行Java多版本管理 升级HomeBrew (首先你得安装HomeBrew) brew update 允许brew命令查找版本信息 brew brew install jenv 设置环境变量(使用Bash的在~/.bash_profile文件中进行配置,使用Zsh的在~/.zshrc文件中配置) export PATH="$HOME/.jenv /bin:$PATH" eval "$(jenv init -)" 添加Java虚拟环境(我这里添加了Java8,Java9和Java10) jenv add /Library/Java/JavaVirtualMachines jenv add /Library/Java/JavaVirtualMachines/jdk-10.jdk/Contents/Home 查看已添加的Java版本 jenv versions 设置当前 Java版本 jenv shell oracle64-1.8.0.162 (当前shell) jenv global oracle64-1.8.0.162 (全局设置) 查看是否生效 java -
jenv 安装 手动安装 首先下载 jenv 源程序 git clone https://github.com/jenv/jenv.git ~/.jenv 然后再将 jenv 命令路径放入 Shell brew 安装: brew install jenv jenv 校验 安装 jenv 之后,可以运行 jenv doctor 检查是否正确安装。 jenv 配置 JDK 配置 运行 jenv add jdk_path,将 JDK 交给 jenv 管理。 ? jenv enable-plugin export ## 运行这个才会生效 exec $SHELL -l jenv 使用教程 jenv versions 查看当前系统 jenv 管理所有 JDK 版本。 jenv global 9.0 jenv 小问题 上面几个是 jenv 经常使用的指令,若想了解 jenv 其他指令,可以通过 jenv commands 查找其他指令。
答案是Jenv: 什么是Jenv Jenv项目地址:https://www.jenv.be 按照官网的解释: jEnv is a command line tool to help you forget 如何配置Jenv Jenv配置方法很简单,两个方法: 使用Git自动部署git clone https://github.com/jenv/jenv.git ~/.jenv echo 'export PATH 和上文一样,解压到自己知道路径的地址后,配置环境变量: vim /etc/profile 我解压的地址是/etc/jenv: [Jenv解压后] 所以,我们环境变量就这样写: # Jenv export 如何使用Jenv Jenv的使用很简单,利用配置JDK8的方法,我下载了JDK11,存储地址是/ZuluJDK/JDK11,我们添加到Jenv里: jenv add /ZuluJDK/JDK11 [添加 你可以放任不管,但是如果你是“强迫症”人群,可以手动remove多余名称: [remove多余名称] 之后,使用versions命令,可以看到Jenv管理的JDK版本: jenv versions [jenv
2.2 使用 jEnv 统一管理(推荐) jEnv 是跨平台的 Java 版本管理工具,支持 macOS、Linux。 安装 jEnv(需先安装 Homebrew): brew install jenv 将 jEnv 集成到 shell 配置: echo 'export PATH="$HOME/.jenv/bin:$PATH "' >> ~/.zshrc echo 'eval "$(jenv init -)"' >> ~/.zshrc source ~/.zshrc 添加已安装的 JDK: jenv add /Library -17.0.7.jdk/Contents/Home 列出与切换: jenv versions jenv global 11 # 全局切换到 Java 11 jenv local 1.8 # 针对当前目录切换到 Java 1.8 jenv shell 17 # 仅对当前 shell 有效 jEnv 会自动管理 JAVA_HOME 与 PATH,并支持插件扩展
2.18.6 changes JDK-8194935 : Cherry pick GTK WebKit 2.18.5 changes 5个bugfix,其中后面3个都是javafx的 安装 添加10.0.1到jenv jenv add /Library/Java/JavaVirtualMachines/jdk-10.0.1.jdk/Contents/Home oracle64-10.0.1 added 10.0.1 added 10.0 added 使用 jenv local 10.0.1 java -version java version "10.0.1" 2018-04-17 Java(TM) SE Runtime
可以安装一下 jEnv,一个帮助我们管理 JAVA_HOME 的命令行工具,在 GitHub 上已经收获 4.3k 的 star。 GitHub 地址:https://github.com/jenv/jenv 官方文档也非常的简洁大方: https://www.jenv.be/ 安装: brew install jenv 配置 : echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.zshrc echo 'eval "$(jenv init -)"' >> ~/.zshrc 添加 : jenv add /usr/local/opt/openjdk@17/libexec/openjdk.jdk/Contents/Home/ JDK 的安装路径可以通过下图的位置查找。 管理: jenv versions jenv global 17.0.3 是不是贼方便?
adoptopenjdk.net Graal https://github.com/oracle/graal Open JDK https://openjdk.java.net/、 多版本 Java 支持 jenv https://github.com/jenv/jenv 爬虫相关 Nutch https://nutch.apache.org/ Crawler4j https://github.com/yasserg
JNITHREAD_JAVALISTENER_H #define JNITHREAD_JAVALISTENER_H class JavaListener { public: JavaVM *jvm; _JNIEnv *jenv ); jvm->DetachCurrentThread(); } else if(type == 1) { jstring jmsg = jenv ->NewStringUTF(msg); jenv->CallVoidMethod(jobj, jmid, code, jmsg); jenv->DeleteLocalRef jmsg); } } JavaListener::JavaListener(JavaVM *vm, _JNIEnv *env, jobject obj) { jvm = vm; jenv
多版本 Java 管理 显然我们不是第一个有这种困境的人,我所知道的现有方案有三种: Jabba 「https://github.com/shyiko/jabba」 jenv 「https://github.com /jenv/jenv」 sdkman 「https://sdkman.io/」 本文主要说明如何通过 sdkman 打破我们面临的困境,帮助我们灵活配置与使用 Java sdkman 介绍 SDKMAN zshrc,找到 .zshrc 文件删除掉上面内容即可 到这里基于 Unix 系统的,有关 sdkman 的安装,使用及下载都已经介绍完了,可以上手试一试了,相信很多小伙伴用的是 Windows,除了 jenv
如果有切换多个版本的jdk需求的话,可以使用jenv这个工具,参考在OS X中使用jEnv管理多个Java版本 安装其他软件 1、安装MacPorts,需要去官网下载对应版本的MacPorts 2、 *源码时还会遇到几个问题,记录下: 1、报java版本错误,用jenv修改下即可。 $jenv local 1.6.0.65 2、 build/core/base_rules.mk:130: **external/webrtc/src/system_wrappers/source: Build Android 5.0 Lollipop on OSX 10.10 Yosemite http://blog.bihe0832.com/macOS-AOSP.html 在OS X中使用jEnv
多版本 Java 管理 显然我们不是第一个有这种困境的人,我所知道的现有方案有三种: Jabba 「https://github.com/shyiko/jabba」 jenv 「https://github.com /jenv/jenv」 sdkman 「https://sdkman.io/」 本文主要说明如何通过 sdkman 打破我们面临的困境,帮助我们灵活配置与使用 Java sdkman 介绍 SDKMAN zshrc,找到 .zshrc 文件删除掉上面内容即可 到这里基于 Unix 系统的,有关 sdkman 的安装,使用及下载都已经介绍完了,可以上手试一试了,相信很多小伙伴用的是 Windows,除了 jenv
maven export M2_HOME=/Users/liruihao/Applications/apache-maven-3.8.5 export PATH=$PATH:$M2_HOME/bin # jenv export PATH="$HOME/.jenv/bin:$PATH" eval "$(jenv init -)" # java export JAVA_8_HOME=/Library/Java/JavaVirtualMachines
developer/video/24850 Bilibili:https://www.bilibili.com/video/BV1Yw411d7bU 需要特别注意⚠️,如果你的macOS或者Linux,配置了jenv ,那么jenv的配置需要在JDK配置之前,比如我macOS本地就有配置jenv,需要这样编写环境变量: [jenv配置在JDK配置之前] 之后,还需安装ANT,方法也很多,最简单的是用软件包管理器安装:
https://github.com/oracle/graal Open JDK https://openjdk.java.net/ 多版本 Java 支持 jenvhttps://github.com/jenv /jenv 爬虫相关 Nutch https://nutch.apache.org/ Crawler4j https://github.com/yasserg/crawler4j jsoup https