首页 > Mac OS X 下查看和设置JAVA_HOME

Mac OS X 下查看和设置JAVA_HOME

原文链接 : http://blog.csdn.net/done58/article/details/51138057

 

1, 查看Java版本

打开Mac电脑,查看JAVA版本,打开终端Terminal,通过命令行查看笔者的java版本:: 

[html] view plaincopy
  1. bogon:~ donny$ java -version  
  2. java version "1.7.0_71"  
  3. Java(TM) SE Runtime Environment (build 1.7.0_71-b14)  
  4. Java HotSpot(TM) 64-Bit Server VM (build 24.71-b01, mixed mode)  

发现已安装Java运行环境。如果你的系统已经安装成功JDK,通过java -version就可以看到相应的jdk版本。如果你的电脑还没有安装JDK的话,可以到Oracle官网下载jdk。

 

2, 查看JAVA安装路径

 

[html] view plaincopy
  1. bogon:~ donny$ which java  
  2. /usr/bin/java  
  3. bogon:~ donny$ whereis java  
  4. /usr/bin/java  
  5. bogon:~ donny$   

通过ls -l  /usr/bin/java 不能找到真实的安装路径,通过搜索发现了这篇文章Important Java Directories on Mac OS X, https://developer.apple.com/library/mac/qa/qa1170/_index.html。

 

 

Many Java applications need to know the location of a $JAVA_HOME directory. The $JAVA_HOME on Mac OS X should be found using the /usr/libexec/java_home command line tool on Mac OS X 10.5 or later. On older Mac OS X versions where the tool does not exist, use the fixed path "/Library/Java/Home". The /usr/libexec/java_home tool dynamically finds the top java version specified in Java Preferences for the current user. This path allows access to the bin subdirectory where command line tools such as javajavac, etc. exist as on other platforms. The tool /usr/libexec/java_home allows you to specify a particular CPU architecture and Java platform version when locating a $JAVA_HOME.

Another advantage of dynamically finding this path, as opposed to hardcoding the fixed endpoint, is that it is updated when a new version of Java is downloaded via Software Update or installed with a newer version of Mac OS X. For this reason, it is important that developers do not install files in the JDKs inside of /System, since the changes will be lost with subsequent updates by newer versions of Java.

To obtain the path to the currently executing $JAVA_HOME, use the java.home System property.

 

[html] view plaincopy
  1. bogon:~ donny$ ls -l /usr/libexec/java_home  
  2. lrwxr-xr-x  1 root  wheel  79 Nov  1 15:43 /usr/libexec/java_home -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java_home  

 

这还是没定位到真实的位置。根据网上搜索Mac OSX 10.9以后系统就自带了Java 6的环境,路径在:

/Library/Java/JavaVirtualMachines文件夹下。下面看这个路径的结果是什么样?

 

[html] view plaincopy
  1. bogon:Home donny$ cd /Library/Java/JavaVirtualMachines  
  2. bogon:JavaVirtualMachines donny$ ls   
  3. jdk1.7.0_71.jdk  

 

可以看到真实的JDK在这里了,最终的路径是:

 

[html] view plaincopy
  1. /Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home  

 

可以参照苹果的文件文档说明,在命令 /usr/libexec/java_home 后面使用-V选项列出所有版本的JAVA_HOME,即如下的结果:

 

[html] view plaincopy
  1. bogon:Home donny$ /usr/libexec/java_home -V  
  2. Matching Java Virtual Machines (1):  
  3.     1.7.0_71, x86_64:   "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home  
  4. /Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home  

 

3, 设置JAVA_HOME环境变量

cd回到用户目录,再列出当前的所有文件,可以见到当前系统的.开头的所有文件。

 

[html] view plaincopy
  1. bogon:Home donny$ cd  
  2. bogon:~ donny$ ls -a  

添加java_home到.bash_profile文件中

 

export JAVA_HOME=$(/usr/libexec/java_home)

export PATH=$JAVA_HOME/bin:$PATH

export CLASS_PATH=$JAVA_HOME/lib 需要说明的是Mac OSX 10.5之后苹果就建议设置$JAVA_HOME变量到/usr/libexec/java_home,添加完毕之后,按esc退出插入模式,并键入wq!保存退出文件。

到这个步骤,我们就已经配置好了全局的java的path和classpath环境变量。以后就可以好好的进行java开发了。

转载于:https://www.cnblogs.com/dfyg-xiaoxiao/p/7103238.html

更多相关:

  • 我们接触过java需要的小伙伴们都知道java是一门强大而又复杂的编程语言,现如今在互联网行业,java的身影随处可见,可能刚学习的小伙伴们会被java语言庞大的体系图吓到,不过知识毕竟是一个积累的过程,接下来对于新手来说,看看哪些是java程序员必学的内容吧。1:html,html−超文本标记语言,这是用来在浏览器上生成用户所看到的...

  • Java工程师数量日益增长,而其薪资不降反升几十年来,Java比其他语言更常名列榜首2019年,Java仍然是最流行的编程语言Java工程师的薪资到底多高?据职友集数据,近一年,全国Java工程师的平均薪资为13400元。然而在右边的投票中,竟有67%的人觉得月薪13400元偏低、偏低、偏低~为了探个究竟,小编特意去招聘网站查询了当下...

  • 因为工作需要使用到ActiveMQ,它是Java语言实现的,所以需要事先安装Java集成环境,下面是我的实操过程,记录如下,参考了文末两篇链接。 一、系统环境说明 rMBP上的VMware Fushion Pro 10.1.1 CentOS 6.9 64bit jdk-8u211-linux-x64.tar.gz 二、安装步骤...

  • 这周基本学完了java的基础中的基础,还不会灵活的应用,相关概念仍然有些模糊。为此,自己将自己学到的知识点做了下系统的复习,并作了相关的笔记。这周编程的大部分时间主要用于小学期PTA的编程作业中(用C++语言),练习java做的比较少,所以现在敲java代码的时候仍然感觉不太熟练,有时候相关的函数引入还要想一下,并且这次发现自己观看...

  • 本周对java的循坏结构和条件语句以及switch分支进行了复习并通过九九乘法表和制作日历来更加熟练使用和理解循环,并用eclipse替代了记事本来编写程序,同时针对记事本编写java程序后台运行出现的GBK不可映射字符问题先后采用了 javac  -encoding  UTF-8  xxx.java进行编译和采用notepad++...

  • 上篇笔记中梳理了一把 resolver 和 balancer,这里顺着前面的流程走一遍入口的 ClientConn 对象。ClientConn// ClientConn represents a virtual connection to a conceptual endpoint, to // perform RPCs. // //...

  • 我的实验是基于PSPNet模型实现二维图像的语义分割,下面的代码直接从得到的h5文件开始往下做。。。 也不知道是自己的检索能力出现了问题还是咋回事,搜遍全网都没有可以直接拿来用的语义分割代码,东拼西凑,算是搞成功了。 实验平台:Windows、VS2015、Tensorflow1.8 api、Python3.6 具体的流程为:...

  • Path Tracing 懒得翻译了,相信搞图形学的人都能看得懂,2333 Path Tracing is a rendering algorithm similar to ray tracing in which rays are cast from a virtual camera and traced through a s...

  • configure_file( [COPYONLY] [ESCAPE_QUOTES] [@ONLY][NEWLINE_STYLE [UNIX|DOS|WIN32|LF|CRLF] ]) 我遇到的是 configure_file(config/config.in ${CMAKE_SOURCE_DIR}/...

  •     直接复制以下代码创建一个名为settings.xml的文件,放到C:UsersAdministrator.m2下即可