解決Mac下JavaHl(JNI) Not Available

很多人用MyEclipse或Eclipse的svn都被這個JavaHL(JNI)not Available錯誤給整瘋了,當然你也可以點擊右邊的上下箭頭來選擇 SVNKit...作為client,這樣也可以正常使用subclipse,但是官方建議使用JavaHL作為client,穩定性,速度性都比SVNKit好很多,使用SVNKit有可能出現未知的錯誤,使你的項目數據受損。(javaHL是通過jni的方式來調用本地的SVN庫,所以說速度快,穩定可靠)我梳理下解決方案。

svn.png

首先了解下概念: JavaHL is a part of the Subversion project.具體地說,它是Java語言綁定的Subversion API。 Subversion提供了一個分層的API設計,交付作為本地庫(DLL)。

Subclipse是用Java編寫的,因此它需要使用JavaHL庫能夠使用Subversion的API。 Subclipse包括Java層JavaHL,所以需要javahl。


錯誤原因.jpeg

第一步:安裝svn,推薦用在線安裝的方法,打開MyEclipse的help-》找到install from site

安裝界面

在紅圈的地方輸入subclipse發行版本地址。因為現在遷移到了github所以網上的大多文章都是比較舊的地址,這是最新地址,找到你需要的版本,比如現在最新的是:
version_Link

一定要好好對比,好好對比,填寫地址并且在name填寫subclipse,很多人繼續完成所有后還是有錯誤,根據錯誤原因要么是Subclipse Version和SVN/javaHl Version不匹配,看看自己是否匹配Curret Versions
然后按下圖一路到底。
安裝.png

然后在MyEclipse的偏好設置->Team 主菜單選擇Perspective為SVN資源庫研究。之后再點Team下拉導航的SVN就能看到開篇說的經典錯誤了,哈哈哈。


第二步就是安裝javahl

我推薦用HomeBrew安裝,不知道就自己Google吧,HomeBrew是用Ruby來實現的,因為Mac OS X 已經默認安裝了Ruby,所以我們直接執行這條命令就可以了。不放心的可以在終端輸入:ruby -v 來查看Ruby的版本。
在終端輸入:
ruby -e "$(curl -fsSLhttps://raw.github.com/mxcl/homebrew/go)"

回車,接下來就開始在線安裝HomeBrew了,安裝時間可能較長,視網絡狀況而定。homebrew默認是被安裝在usr/local下,bin就是它的主目錄,并且bin目錄的路徑已被加入path,在任意目錄可以直接執行brew命令。通過brew安裝的包都存放在use/local下的Cellar目錄中。HomeBrew安裝好了之后一條命令就能安裝JavaHL了,注:需要翻墻:
brew install subversion --with-java

(官方的我懶得翻譯了,很簡單)After the installation, you need to run these commands which put a link to the JavaHL library into the folder that the JVM looks for JNI libraries. This causes it to automatically be seen by the JVM when you run Eclipse:
sudo mkdir -p /Library/Java/Extensions sudo ln -s /usr/local/lib/libsvnjavahl-1.dylib /Library/Java/Extensions/libsvnjavahl-1.dylib
最后重啟你的IDE就OK了。就是這么SoEasy

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容