mac eclipse svn

自从换了mac,同时换了idea以后,一直没有去用过eclipse。前两天心血来潮(zuo),想着怀旧一下,打开eclipse搞一搞。

结果悲剧发生了,mac下的eclipse用svn居然如此艰难,以至于花了好多时间才搞定它。(其实我也用不着,只是有搞不出来不爽的强迫症。。。)

下面就总结一下这个悲剧吧。

下载完eclipse解压打开,然后安装Subclipse。然后到eclipse设置里看下subversion,悲剧了,弹出提示:

Failed to load JavaHL Library.

These are the errors that were encountered:
no libsvnjavahl-1 in java.library.path
no svnjavahl-1 in java.library.path
no svnjavahl in java.library.path
java.library.path = /usr/lib/jvm/java-6-sun-1.6.0.20/jre/lib/i386/client:/usr/lib/jvm/java-6-sun-1.6.0.20/jre/lib/i386:/usr/lib/xulrunner-addons:/usr/lib/xulrunner-addons:/usr/java/packages/lib/i386:/lib:/usr/lib

按照常用套路,google之(悄悄告诉你,最好别用百度),发现原来由于mac osx这个二货中自带的Subversion居然是个阉割货(不明白为什么要阉割掉),里面没有JavaHL相关的库,这个库的作用简单地说,就是提供接口给第三方比如subclipse这种来调用本地的svn用的,所以当subclipse发现没有这个库的时候,就没办法了。(这里其实还有个选择,就是安装subclipse的时候勾上SVNKit,这样的话它就会自带一个svn客户端,不需要通过JavaHL调用本地svn,不过不推荐这么搞,一个环境下,最好用同样的svn)

所以解决问题的关键是要给svn安装一个JavaHL库,google了好久,被坑了好多回,发现JavaHL这个库没法独立给svn补回去(或者是我没找到对的方法),于是只有换掉整个svn这个思路,先记得svn --version看看已经有的svn版本,免得换了以后发现版本不一样又发生悲剧(比如我)。
在mac上安装svn,首先需要安装brew,当然也可以用macport,反正一个意思。
安装brew非常简单,一个ruby脚本就搞定了
ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"

然后就可以使用brew命令了,类似于debain下面的apt-get。安装完整的svn,命令:

brew install -- java subversion

如果你恰好用的是跟它一样的最新版本,那没关系,如果你用的是1.6或1.7的版本,那就需要对应的把subversion换成subversion16subversion17

安装过程中需要make,可能花费一点时间,这要看你的机器了。

完成后,你可以看到安装过程中要求你执行以下命令

sudo mkdir -p /Library/Java/Extensions 
sudo ln -s /usr/local/lib/libsvnjavahl-1.dylib /Library/Java/Extensions/libsvnjavahl-1.dylib

不过执行第一个命令前记得先看下这个目录是不是已经存在,已经存在就不用mkdir了

执行第二个命令,把包链接过去就完事了。

最后重启eclipse,再去subversion那个选项看看,是不是已经找到JavaHL库了呢?

mac eclipse svn,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。