Mac小白的Java开发环境搭建

前言

在使用Java语言进行开发的时候,本人使用较多的操作系统是windows和Linux(Ubuntu,CentOS,SUSE),在此之前并没有使用过Mac OS,最近为了向公司的高逼格看齐,转而使用Mac进行Java程序开发。
对于一个程序员而言,在工作中不仅要熟悉对应语言的开发环境,也需要熟悉对应的操作系统。熟练地使用快键键和良好得当的环境配置会让日常工作事半功倍。所以,在本文中会分别针对Mac OS的环境配置和常用辅助软件,以及Java开发环境的搭建配置进行总结,供大家参考。

Mac OS

1. F1...F12用作标准功能键使用(即不需要按住Fn+F1...F12)

进入系统偏好设置->键盘,页签选择“键盘”,勾选“将F1,F2等键用作标准功能键”,如下:


function key config.png

2. 在当前folder快速打开Terminal

进入系统偏好设置->键盘,页签选择“快捷键”,勾选“文件和文件夹”下的“新建位于文件夹位置的终端标签页”和“新建位于文件夹位置的终端窗口”,如下:


terminal invokation.png

3. 解决Mac自带的输入法切换时带来的些许问题

这些问题包括但不限于以下几个:1. 通过Caps键进行输入法切换;2.中文模式下无法通过Caps切换字母大小写;3.中文模式下输入"_",需要切换到英文模式等。
对于系统自带的简体中文输入法,进入系统偏好设置->键盘->输入法,通过去勾选“使用大写锁定键切换ABC输入模式”,可以使用Command+space的传统切换方式,如下:


caps switch.png

解决以上三个问题的推荐做法是下载mac版搜狗输入法,并将系统自带的输入法从输入法列表中删除。进入系统偏好设置->键盘->输入法,选择简体中文,并点击左树目录下面的减号,最后输入法列表截图如下:


sougou input method.png

另外,提示一下输入法的快键键设置路径,系统偏好设置->键盘->快捷键->输入法,如下:


input method shortcut.png

4. 使用外接鼠标时,上下翻页与windows和linux系统方向相反

进入系统偏好设置->鼠标,去勾选“滚动方向:自然”,如下:


scroll.png

5.使用外接机械键盘时,可能会和mac键盘按键位置有所差异,造成使用不便

首先在连接外接键盘后,键盘设置助理会自动启动,需要按照提示操作进行键盘类型识别,在识别成功后,会出现新的设备类型。进入系统偏好设置->键盘->键盘->修饰键(右下角),可以在弹窗中看到新的设别,如下:


keyboard.png

通过更改对应差异按键的键值可以解决一部分问题,另外也有可能需要更换机械键盘键帽进行差异修正。

6.mac快捷键太多,且和其他系统不兼容,如何快速掌握快捷键

可以安装cheatsheet,该插件可以辅助新用户熟悉各个app上下文的快捷键。安装完成后,还需要进入系统偏好设置->安全性与隐私->辅助功能,点击左下角的解锁按钮,输入用户密码后,勾选Cheatsheet,如下:

cheatsheet.png

7.terminal显示当前路径和代码分支

1 进入你的home目录

cd ~

2 编辑.bashrc文件

vi .bashrc1

3 将下面的代码加入到文件的最后处

function git_branch {
    branch="`git branch 2>/dev/null | grep "^\*" | sed -e "s/^\*\ //"`"
    if [ "${branch}" != "" ];then
        if [ "${branch}" = "(no branch)" ];then
            branch="(`git rev-parse --short HEAD`...)"
        fi
        echo " ($branch)"
    fi
}

export PS1='\u@\h \[\033[00;37m\]\W\[\033[01;32m\]$(git_branch)\[\033[00m\] \$ '

4 保存退出
5 执行加载命令

source ./.bashrc

Mac 下面启动的 shell 是 login shell,所以加载的配置文件是.bash_profile,不会加载.bashrc。如果你是 Mac 用户的话,需要再执行下面的命令,这样每次开机后才会自动生效:

echo "[ -r ~/.bashrc ] && source ~/.bashrc" >> .bash_profile

8.mac环境下的其他辅助软件推荐

截图软件:JIETU
本地笔记软件:Microsoft OneNote for Mac
文本编辑软件:sublime text 3
TODO List软件:Pomotodo
由于初次使用mac OS,对于辅助软件的使用经验尚浅,也希望达人可以推荐一下好用的软件。

Java开发环境搭建

Java开发环境搭建主要涉及下面几个方面:1.软件安装和环境配置 2.软件个性化

jdk

1 oracle官网下载jdk
2 将jdk解压到合适的位置
3 配置环境变量,在用户家目录下创建.bash_profile,输入如下配置:

#jdk 
export JAVA_7_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_76.jdk/Contents/Home
export JAVA_8_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home
export JAVA_HOME=$JAVA_7_HOME

#maven
export MAVEN_HOME=/usr/local/Cellar/maven/3.5.4

#path
export PATH="/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH"

#alias
alias ls='ls -G'
alias ll='ls -l'
alias grep='grep --color'
##jdk alterative
alias jdk8='export JAVA_HOME=$JAVA_8_HOME'
alias jdk7='export JAVA_HOME=$JAVA_7_HOME'

Homebrew

Homebrew类似于Linux系统中Debian系的apt-get和Redhat系的yum,用来进行包管理。安装方式相对简单,在Terminal中执行如下命令:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

maven

方式一:在安装完Homebrew后,运行一下命令:

brew install maven

方式二:进入maven官网,下载maven压缩包,解压到适当目录后,添加环境变量(参考jdk中的环境配置文件)

git

Terminal中执行如下命令:

brew install git

git安装完成后,在使用代码托管网站进行远端操作时往往需要创建SSH key,步骤如下:
1 cd ~/.ssh
2 ls id_* ##如果新电脑会提示No such file or directory
3 创建新key,输入命令:

ssh-keygen -t rsa -C "xxx@xxx.com" 

4 三个回车后,创建成功
5 mac下的终端运行: pbcopy < ~/.ssh/id_rsa.pub
6 找到代码托管网站或者内源网站的SSH key添加处,粘贴生成好的key

Terminal配色

本人参考的博客"在 Mac OS X 终端里使用 Solarized 配色方案"
1 进入github下载Solarized
2 运行osx-terminal.app-colors-solarized下的两个.terminal文件

solarized.png

运行后在Terminal窗口下可以在偏好设置中选择对应主题,推荐Solarized Dark
terminal theme config.png

Vim配色和设置

本人在做Java开发之前,从事过一段时间的Linux内核开发,在Linux环境下喜欢使用Vim,通过适当的配置可以将Vim打造成媲美Java IDE的开发编辑环境,个人偏好使用jeffy-vim-read + ctags的插件。很幸运的是,在mac OS环境中,jeffy-vim-read也可以使用,具体配置方式如下:
1 下载jeffy-vim-read配置包
2 将配置包解压到适当的目录下,运行install.sh

jeffy-vim-read src tree.png

3 保持网络连接正常,配置程序会自动使用vimscript语句重写vimrc,从而改变vim配置
vim auto-config.png

配置完成后的vim风格如下图所示
jeffy style.png

Intellij风格配置

个人比较喜欢使用Sublime的Monokai风格,大概是下面这个样子(字体可以自由设置),右侧代码全景图使用的是插件CodeGlance。
该风格可以通过不同颜色区别显示抽象类、实体类、父类方法、本类方法和入参等不同性质的代码体,具体配置方法可参考博客“详述 IntelliJ IDEA 设置 Sublime 代码颜色的方法”

IJ monokai style.png

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,126评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,254评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,445评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,185评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,178评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,970评论 1 284
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,276评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,927评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,400评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,883评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,997评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,646评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,213评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,204评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,423评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,423评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,722评论 2 345

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,498评论 25 707
  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 12,693评论 2 59
  • Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意...
    萤火虫de梦阅读 99,156评论 9 467
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,599评论 18 139
  • 我们使用drawtext命令行可能出现“No such filter: 'drawtext” 错误,这个说明我们没...
    温暖春阳阅读 8,934评论 1 0