笔者从Window上转到Mac上做开发,一切配置都要重新开始,开发环境配置介绍如下:

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.+)
Java HotSpot(TM) -Bit Server VM (build 9.0.+, 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/

单击回车,就可以看到

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

# System-wide .profile for sh()

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..jdk/Contents/Home/

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

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

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

代码如下:

 class Hello {

     public static void main(String[] args) {
System.out.println("Helllo");
}
}

在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

最新文章

  1. spring源码分析之spring jmx
  2. 自己动手,让Entity Framework Power Tools在VS2015重放光彩
  3. Method threw 'org.hibernate.exception.SQLGrammarException' exception. Cannot evaluate com.hotel.Object_$$_jvst485_15.toString()
  4. Excel 计算 tips
  5. EmEditor处理大文本文件
  6. F5中源地址转换(AutoMap)模式下后端服务器获取客户端真正的IP地址
  7. 关于jquery-easyUI中主键属性data-options的了解
  8. Samba服务部署
  9. 在html中使用js
  10. 功能测试话题分享-0323 Bug
  11. C++进阶:新人易入的那些坑 --1.常量、常指针和指针常量
  12. 对python3中pathlib库的Path类的使用详解
  13. 20190316xlVba_设置行高的改进方案
  14. 软件工程_1st weeks
  15. cdqz2017-test8-Tree(点分树)
  16. 使用apache和nginx代理实现tomcat负载均衡及集群配置详解
  17. Attach()和Detach()函数
  18. swiper在vue中的使用 及 神坑
  19. https ddos攻击——由于有了认证和加解密 后果更严重 看绿盟的产品目前对于https的ddos cc攻击需要基于内容做检测
  20. Java 权限框架 Shiro 实战一:理论基础

热门文章

  1. 【推荐】使用Ultrapico Expresso学习正则表达式
  2. 使用ROP攻击绕过Windows的DEP
  3. python爬虫 bs4_4select()教程
  4. idea创建多模块springboot项目
  5. pyppeteer 报错-无法连接到浏览器
  6. Web压力测试工具 LoadRunner12.x简易入门教程--(一)回放与录制
  7. java keytool证书工具使用小结【转】
  8. Elasticsearch之中文分词器插件es-ik的自定义词库
  9. Python面向对象-day07
  10. C# PointToScreen