Mac下安装JDK过程及相关Mac命令备忘

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/arjelarxfc/article/details/52611237

参考网址:http://blog.chinaunix.net/uid-14735472-id-3190130.html
http://kennylee26.iteye.com/blog/1772638
http://blog.csdn.net/fengmoon/article/details/52106694
http://www.cnblogs.com/yinxiangpei/articles/3859057.html


文章结构
一、安装部分;
二、mac使用到的UNIX部分基础知识;
三、最后完成mac环境变量配置;


目前是版本10.12 (16A323),MacOS Sierra.
打开终端,查看10.12版本的系统使用的是什么shell命令:echo $SHELL。输出的是bash,说明是Bourne shell,是默认的Unix Shell命令。


一、安装部分:
java下载mac版1.8JDK
svn是Mac自带服务器端和客户端,默认是1.7版本,配置一下可以升级到需要的版本。
maven下载3.3版本。
1.开始安装JDK.


首先JDK在Mac系统中有两个路径,一个是默认的,一个是下载了的jdk,需要更新的。
默认的是很好找的。在终端中输入whereis java就能看到路径、用ls -l则能看到真实路径。
➜  / whereis java
/usr/bin/java
➜  / ls -l  /usr/bin/java
/usr/bin/java -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java
➜  / 
如果是从Oracle下载的idk,且想要更新的话,则首先需要修改jdk的环境变量。oracle下载的,默认会安装在
    /Library/Java/JavaVirtualMachines/。于是,我们首先要到etc/profile文件中进行修改。


打开终端输入“java”或者“javac -version”会有相应的显示。
但是输入“echo $PATH”并没发现Path里有Java的路径。有文章说直接安装好JDK就可以用eclipse开发了,尝试下是可以。当然配置环境变量的原因无关操作系统如何,原理应该都是一样。


包路径等问题
系统默认安装的JRE路径 
/System/Library/Frameworks/JavaVM.framework/


oracle和apple等安装的JDK包的路径
/Library/Java/JavaVirtualMachines/


3.JAVA_HOME在哪了?
/Library/Java/JavaVirtualMachines/jdk1.8.0_102.jdk/Contents/Home
注:jdk1.8.0_102.jdk目录名字与安装的jdk版本有关


rt.jar、jsse.jar、tools.jar去哪了?
rt.jar和tools.jar已经集成到/Library/Java/JavaVirtualMachines/1.6.0_38-b04-436.jdk/Contents/Classes/classes.jar
jsse.jar也在Classes目录下

建议把classes.jar和jsse.jar建立软连接到/Library/Java/JavaVirtualMachines/1.6.0_38-b04-436.jdk/Contents/Home/lib/下,并且classes.jar的软链接命名为rt.jar。同理,也建多一个为tools.jar的软链接。
这样就可以避免一些时候会发生找不到rt.jar、tools.jar的问题了,例如在使用混淆码的时候。


Mac OS X的环境变量文件在/etc/profile,unix启动加载的文件
本示例的几个软件配置都在该文件下了,这是系统加载的文件,本机上的每个用户都起作用。
注:添加JAVA_HOME后,系统也会使用你配置的JAVA_HOME的jdk为默认JDK。


2.SVN部分
在Windows环境中,我们一般使用TortoiseSVN来搭建svn环境。在Mac环境下,由于Mac自带了svn的服务器端和客户端功能,所以我们可以在不装任何第三方软件的前提下使用svn功能,不过还需做一下简单的配置。
我们首先来看下,如何在Mac环境下搭建svn服务器端环境。
创建代码仓库,用来存储客户端所上传的代码
我先在/User/apple目录下新建一个svn目录,以后可以在svn目录下创建多个仓库目录
打开终端,创建一个mycode仓库,输入指令:svnadmin create /Users/apple/svn/mycode
指令执行成功后,会发现硬盘上多了个/Users/apple/svn/mycode目录。
主要是修改/svn/mycode/conf目录下的三个文件:
1.打开svnserve.conf,将下列配置项前面的#和空格都去掉
# anon-access = read  
# auth-access = write  
  
# password-db = passwd  
  
# authz-db = authz  
注意:anon-access = read代表匿名访问的时候是只读的,若改为anon-access = none代表禁止匿名访问,需要帐号密码才能访问


2.打开passwd,在[users]下面添加帐号和密码,比如:
[users]  
mj = 123  
jj = 456  
意思是:帐号是mj,密码是123


3.打开authz,配置用户组和权限
我们可以将在passwd里添加的用户分配到不同的用户组里,以后的话,就可以对不同用户组设置不同的权限,没有必要对每个用户进行单独设置权限。
在[groups]下面添加组名和用户名,多个用户之间用逗号(,)隔开


[groups]  
topgroup=mj,jj  
说明:mj和jj都是属于topgroup这个组的,接下来再进行权限配置。

使用[/]代表svn服务器中的所有资源库
[/]  
@topgroup = rw  

上面的配置说明topgroup这个组中的所有用户对所有资源库都有读写(rw)权限,组名前面要用@
如果是用户名,不用加@,比如mj这个用户有读写权限

[/]  
mj = rw  
至于其他精细的权限控制,可以参考authz文件中的其他内容


4.启动svn服务器
前面配置了这么多,最关键还是看能否正常启动服务器,若启动不来,前面做再多工作也是徒劳。
在终端输入下列指令:svnserve -d -r /Users/apple/svn
或者输入:svnserve -d -r /Users/apple/svn/mycode
没有任何提示就说明启动成功了

5.关闭svn服务器
如果你想要关闭svn服务器,最有效的办法是打开实用工具里面的“活动监视器”

SVN客户端使用svn help命令查看具体细节。

3.maven部分:
比较简单,下载mac版安装好做配置即可。
当配置好后需要创建一个软连接(符号链接),这样更也容易使用,当升级maven的时候也不在需要改变环境变量。
如解压到/usr/local/maven-2.0.9
则在该目录下输入命令:ln -s maven-2.0.9 maven
检验是否成功:mvn  -v 
安装好后需要将它的bin目录,即MAVEN_HOME的bin环境变量../maven/bin添加到命令行路径(PATH)下,第三部分有配置细节供参考。


为eclipse建立独立Repository。
新建一个文件夹作为repository的根目录, 将setting文件加入
<localRepository>/Users/xuchen/Desktop/dev/applications/maven/repository/anialy-repo</localRepository> 
之后就去eclipse安装maven的插件即可。


二、mac使用到的UNIX部分基础知识:

PATH的格式为:
PATH=$PATH:<PATH 1>:<PATH 2>:<PATH 3>:——:<PATH N>   ,中间用冒号隔开。

mac和linux终端一般用bash来进行解析。当bash在读完了整体环境变量的/etc/profile并借此调用其他配置文件后,接下来则是会读取用户自定义的个人配置文件。bash读取的文件总共有三种:

  ~/.bash_profile   ~/.bash_login    ~/.profile

  其实bash再启动是只读上面文件的一个,而读取的顺序则是依照上面的顺序。



在 刚登录Linux时,首先启动 /etc/profile 文件,然后再启动用户目录下的 ~/.bash_profile、 ~/.bash_login或 ~/.profile文件中的其中一个,执行的顺序为:~/.bash_profile、 ~/.bash_login、 ~/.profile。如果 ~/.bash_profile文件存在的话,一般还会执行 ~/.bashrc文件。因为在 ~/.bash_profile文件中一般会有下面的代码:


if [ -f ~/.bashrc ] ; then
 . ./bashrc
           fi
  ~/.bashrc中,一般还会有以下代码:
if [ -f /etc/bashrc ] ; then
 . /etc/bashrc
fi

所以,~/.bashrc会调用 /etc/bashrc文件。最后,在退出shell时,还会执行 ~/.bash_logout文件。

执 行顺序为:/etc/profile -> (~/.bash_profile | ~/.bash_login | ~/.profile) -> ~/.bashrc ->/etc/bashrc -> ~/.bash_logout

关于各个文件的作用域,在网上找到了以下说明:
(1)/etc/profile: 此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. 并从/etc/profile.d目录的配置文件中搜集shell的设置。


(2)/etc/bashrc: 为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取。


(3)~/.bash_profile: 每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。


(4)~/.bashrc: 该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。


(5)~/.bash_logout: 当每次退出系统(退出bash shell)时,执行该文件. 另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承/etc /profile中的变量,他们是"父子"关系。


(6)~/.bash_profile 是交互式、login 方式进入 bash 运行的~/.bashrc 是交互式 non-login 方式进入 bash 运行的通常二者设置大致相同,所以通常前者会调用后者。


我 做了个实验,在/etc/profile,/etc/bashrc,~/.bashrc和~/.bash_profile文件的最后追加同一个变量分别赋 予不同的值,实验结果表明变量最后的值为~/.bash_profile里的值。(4个文件都没有修改其他设置,都是安装系统后的默认值。)
再有就是4个文件都追加一个值到同一个文件,开机后查看该文件内容的顺序为:
/etc/profile
~/.bash_profile
~/.bashrc
/etc/bashrc


三、最后完成mac环境变量配置
输入命令:sudo vim /etc/profile,输入密码进入编辑profile文件模式,键入i,进入插入模式,添加如下整理好的配置:

#java环境变量
JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_102.jdk/Contents/Home"
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
PATH=$PATH:$JAVA_HOME/bin
export JAVA_HOME
export CLASS_PATH
export PATH


#svn环境变量
export PATH=$PATH:/opt/subversion/bin 
#maven环境变量
export MAVEN_HOME=/Users/fcxu/Documents/apache-maven-3.3.9
export PATH=$PATH:$MAVEN_HOME/bin
 
添加完毕之后,按esc退出插入模式,并键入wq!保存退出文件。之后使用命令:cat /etc/profile 显示编辑效果,
如无误则输入命令:source /etc/profile 使之生效。
使用命令:echo $PATH、svn --version、mvn -v、java -version、echo $JAVA_HOME查看编辑的效果了。

展开阅读全文

没有更多推荐了,返回首页