標籤:style blog http color java 使用 os io
自從換了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.pathno svnjavahl-1 in java.library.pathno svnjavahl in java.library.pathjava.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換成subversion16或subversion17
安裝過程中需要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庫了呢?