Mac配置Jdk 安装及系统环境配置[通俗易懂]

Mac配置Jdk 安装及系统环境配置

大家好,又见面了,我是你们的朋友全栈君。

注:本文来于《  Mac配置Java开发环境    》

1. 下载JDK

从下面链接选择合适版本的安装包进行下载…笔者下载的是jdk-9.0.1

链接:http://www.oracle.com/technetwork/java/javase/downloads/index.html

2. 安装JDK

双击jdk-9.0.1_osx-x64_bin.dmg文件进行安装

3. 查看是否安装成功

打开terminal,输入:java -version

JiaxindeMacBook-Pro:Code jiaxin$ java -version
java version "9.0.1"
Java(TM) SE Runtime Environment (build 9.0.1+11)
Java HotSpot(TM) 64-Bit Server VM (build 9.0.1+11, mixed mode)

4. 配置PATH和CALSSPATH路径

打开terminal,打开profile文件(需要输入密码)

JiaxindeMacBook-Pro:Code jiaxin$ sudo vim /etc/profile
Password:

在文件末尾添加JAVA_HOME路径(切换英文输入法,键入“i”,进入插入模式)

JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk/Contents/Home/"

CLASS_PATH="$JAVA_HOME/lib"

PATH=".:$PATH:$JAVA_HOME/bin

其中,第一行

JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk/Contents/Home/"

里面

jdk-9.0.1.jdk

是一个文件夹,根据你安装的JDK版本,具体查看方式:打开Finder,快捷键 “Command + Shift + G”,输入

/Library/Java/JavaVirtualMachines/

单击回车,就可以看到

Mac配置Jdk 安装及系统环境配置[通俗易懂]

加上后显示如下(确认添加完毕,按esc退出插入模式,英文输入发下键入“:wq!”保存并退出profile文件)

复制代码
# System-wide .profile for sh(1)

if [ -x /usr/libexec/path_helper ]; then
        eval `/usr/libexec/path_helper -s`
fi

if [ "${BASH-no}" != "no" ]; then
        [ -r /etc/bashrc ] && . /etc/bashrc
fi

JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk/Contents/Home/"

CLASS_PATH="$JAVA_HOME/lib"

PATH=".:$PATH:$JAVA_HOME/bin"
复制代码

5. 查看JAVA_HOME是否配置成功

重启terminal,或者输入以下命令使生效

JiaxindeMacBook-Pro:~ jiaxin$ source /etc/profile

6. 查看更改后的JAVA_HOME路径

输入echo $JAVA_HOME

JiaxindeMacBook-Pro:~ jiaxin$ echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk/Contents/Home/

到这里在Mac配置Java开发环境就算完成!

7. 测试Java程序的编译运行

配置完了自然是要测试一下是否能够编译运行著名的Hello.java

代码如下:

1 class Hello {
2 
3     public static void main(String[] args) {
4         System.out.println("Helllo");
5     }
6 }

在terminal上输入:javac Hello.java,单击回车,进入文件目录查看是否生成class文件

sJiaxindeMacBook-Pro:~/Documents/Develop/Java/Code jiaxin$javac Hello.java

运行正常

JiaxindeMacBook-Pro:~/Documents/Develop/Java/Code jiaxin$java Hello
Helllo

至此,真正完成了在Mac配置Java开发环境!

补充

– CLASS_PATH、PATH环境变量的作用

(1)CLASS_PATH 保证class文件能够在任意目录下运行

(2)PATH 保证javac可以在任意目录下运行

– 下面介绍如何设置terminal显示全路径

(1)查看terminal当前设置,键入:echo $PS1

JiaxindeMacBook-Pro:~ jiaxin$ echo $PS1
\h:\W \u\$

(2)更改配置

  - 进入用户目录

JiaxindeMacBook-Pro:~ jiaxin$ cd ~

  - 用文本编辑器编辑bash_profile文件

JiaxindeMacBook-Pro:~ jiaxin$ open -e .bash_profile

   – 如果显示没有如下,则是没有该文件,需要创建

JiaxindeMacBook-Pro:~ jiaxin$ open -e .bash_profile
The file /Users/jiaxin/.bash_profile does not exist.

   – 查看bash当下文件

JiaxindeMacBook-Pro:~ jiaxin$ ls .bash*
.bash_history

   – 新建bash_profile文件并查看是否新建成功

JiaxindeMacBook-Pro:~ jiaxin$ touch .bash_profile
JiaxindeMacBook-Pro:~ jiaxin$ ls .bash*
.bash_history    .bash_profile

  - 编辑bash_profile文件

JiaxindeMacBook-Pro:~ jiaxin$ vim .bash_profile

   –输入以下内容显示全路径,保存并退出(编辑及保存退出操作见上文“4. 配置PATH和CALSSPATH路径”)

export PS1="\h:\w \u$"

   –如果只要显示用户路径则输入,保存并退出

export PS1="\u \w$"  

  - 保存文件,重启terminal或者输入以下命令,使生效

JiaxindeMacBook-Pro:~ jiaxin$source .bash_profile

(3)检查是否生效成功,和(1)的情况进行比较

JiaxindeMacBook-Pro:~ jiaxin$echo $PS1
\h:\w \u$

(4)附录,PS1内容详情

复制代码
\a    ASCII 响铃字符(也可以键入 \007) 
\d    "Wed Sep 06" 格式的日期 
\e    ASCII 转义字符(也可以键入 \033) 
\h    主机名的第一部分(如 "mybox") 
\H    主机的全称(如 "mybox.mydomain.com") 
\j    在此 shell 中通过按 ^Z 挂起的进程数 
\l    此 shell 的终端设备名(如 "ttyp4") 
\n    换行符 
\r    回车符 
\s    shell 的名称(如 "bash") 
\t    24 小时制时间(如 "23:01:01") 
\T    12 小时制时间(如 "11:01:01") 
\@    带有 am/pm 的 12 小时制时间 
\u    用户名 
\v    bash 的版本(如 2.04) 
\V    Bash 版本(包括补丁级别) ?/td> 
\w    当前工作目录(如 "/home/drobbins") 
\W    当前工作目录的“基名 (basename)”(如 "drobbins") 
\!    当前命令在历史缓冲区中的位置 
\#    命令编号(只要您键入内容,它就会在每次提示时累加) 
\$    如果您不是超级用户 (root),则插入一个 "$";如果您是超级用户,则显示一个 "#" 
\xxx    插入一个用三位数 xxx(用零代替未使用的数字,如 "\007")表示的 ASCII 字符 
\\    反斜杠 
\[    这个序列应该出现在不移动光标的字符序列(如颜色转义序列)之前。它使 bash 能够正确计算自动换行。 
\]    这个序列应该出现在非打印字符序列之后
复制代码


参考链接:

1、http://blog.csdn.net/wwj_748/article/details/44628111

2、http://www.cnblogs.com/scarlettxu/p/5367525.html

3、http://ibadboy.iteye.com/blog/1739368

转载于:https://www.cnblogs.com/ios9/p/9291334.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/107428.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java io流面试_java面试核心知识点

    java io流面试_java面试核心知识点好久不见的IO流对IO流的学习,我记得还是初学Java基础的时候,后来找工作过程中经常看到有些招聘信息中写到熟悉IO流,现在想想IO流,真的是一脸懵逼,不说这么多废话了,IO流这次好好整理一下。说说IO流的类别在说流的类别之前,先说说什么是流,流其实就是对输入输出设备的抽象,可以把输入输出流理解为是一个通道,输入输出是相对程序而言的,如果是输出流,也就是往文件中写文件,而输入流,则是从文件中读取文件。从三个方面对IO流进行总结,一、字节流(一般都是xxxStream),二、字符流(xxxRead、xx

    2022年10月20日
    0
  • springWeb实战

    springWeb实战springWeb实战

    2022年4月24日
    40
  • TreeTable树形菜单

    TreeTable树形菜单html jsvartable={id:“treeTable”,table:null,layerIndex:-1};/**初始化表格的列*/tableTer.initColumn=function(){varcolumns=[{field:‘selectItem’,radio:true},{tit…

    2022年6月3日
    36
  • executescalar mysql_ExecuteScalar[通俗易懂]

    executescalar mysql_ExecuteScalar[通俗易懂]这两个答案和一点点思考使我想到了一个接近答案的东西。首先再澄清一下:该应用程序是用C#(2.0+)编写的,并使用ADO.NET与SQLServer2005进行通信。镜像设置是托管主体和镜像的两个W2k3服务器以及托管作为监视器的快速实例的第三个服务器。这样做的好处是,故障转移对于使用数据库的应用程序几乎是透明的,它将对某些连接引发错误,但从根本上讲一切都会很好地进行。是的,我们得到了奇怪的误报…

    2022年6月30日
    19
  • 手机APP软件性能测试工具及流程介绍[通俗易懂]

    性能测试(上)性能测试的分类和流程什么是性能测试?性能测试概念:性能测试主要通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试性能测试工具:JmeterLoadrunner性能工具的组成:脚本生成器压力生成器结果分析器压力控制器性能工具工作原理:软件性能测…

    2022年4月11日
    61
  • mysql设置隔离级别_修改mysql事务隔离级别

    mysql设置隔离级别_修改mysql事务隔离级别引言开始我们的内容,相信大家一定遇到过下面的一个面试场景面试官:“讲讲mysql有几个事务隔离级别?”你:“读未提交,读已提交,可重复读,串行化四个!默认是可重复读”面试官:“为什么mysql选可重复读作为默认的隔离级别?”(你面露苦色,不知如何回答!)面试官:”你们项目中选了哪个隔离级别?为什么?”你:“当然是默认的可重复读,至于原因。。呃。。。”(然后你就可以回去等通知了!)为了避免上述尴尬的…

    2022年9月3日
    9

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号