[イクルリブス] Failed to load JavaHL Library 解決すること
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-openjdk/jre/lib/amd64/server:/usr/lib/jvm/java-6-openjdk/jre/lib/amd64:/usr/lib/jvm/java-6-openjdk/jre/../lib/amd64:/usr/lib64/xulrunner-addons:/usr/java/packages/lib/amd64:/usr/lib/jni:/lib:/usr/lib
subclipseを 設置して svn 関連 業務を 始めようとばかり すれば こういう メッセージが 浮かぶ. okを 押せば 無理なく 寝る 動作するが 何か 気まずい.
なぜ こういう のが 浮かぶ のか? 英語だと 引き続き 無視したが, 今日は 解決して 見ようと した. そして ところで エラー メッセージ 窓で 解決策を 見つけた. 五胡だと! 私は 目 浮かんだ 盲人だった のか! (下の 絵と ような エラー メッセージを 言う.)
http://subclipse.tigris.org/wiki/JavaHL
JavaHLを 設置すれば 解決される 問題
ここからは 上に リンクした ページの 翻訳だ. 便宜上 略した 部分が 阿洲 少し あって, 当然 誤役が ある 数 ある. するが 凡そ 理解する つける 無理が ない のだ.
——————-
一応 Subclipse Versionに 当たる JavaHLを 敷くと するという 点を 強調して ある. JavaHL銀 Subversion義 一部で 各Subversion銀 一つの Subversion client version 万 支援すると する. API 差 だからで. そのため 正しい バージョンを 敷くと すると する.
そのため 下の 切符を 参考して まともに なった SVN/JavaHL Versionを 設置すれば なると する.
Subclipse Version |
SVN/JavaHL Version |
1.6.x |
1.6.x |
1.4.x |
1.5.x |
1.2.x |
1.4.x |
1.0.x |
1.4.x |
JavaHLこれ 何か?
JavaHL銀 サーブバージョン(Subversion) プロジェクトの 一部だ. Java 言語を サーブバージョン APIに バインディングする ことだ. (もし 分からないか 真書 言うのに サーブバージョンが SVN載せる. – 緑風) サーブバージョンは 階層的 API デザインを 提供する. 階層的 API デザインは (DLL ような) ネイティブ ライブラリたちで 提供される. サーブバージョン コマンド ラインは これ APIを 使う たいてい 方法である だけだ. APIには 豊かな 機能が ある. また 下位 互換性も 維持される. ものすごく 良い サーブバージョン クライアントと 道具が 多いのに, それは ところで 必要な あらゆる 機能を 提供する 豊かで 安定的な API街 あること だからだ.
サーブバージョンは あらゆる プラットホームを 支援すること のために C路 作られた. どうして ゾチォで.(Subversion is written in C to provide excellent cross platform support, but also because C produces libraries that are easy to consume from virtually any other language.) サーブバージョン プロジェクトは ジャバ, パール, パイソン そして ルヒーを ための 言語 バインディングを 提供して 維持して ある. 裏側 歳 犬に 大海は SWIG ライブラリと 機能を 提供する. ネイティブ ライブラリで インターフェース 言語 機能を 具現した のだ. JavaHL銀 “こんにちは レベル” API故 これは C++ コードで 作成された. ジャバ コードと ネイティブ ライブラリを 連結する JNIを 提供すること ためだ. これ デザインは 良い ジャバ APIを サーブバージョンに 提供する 数 あるように 日 与える.
JavaHL銀 根本的に はい パートで 構成される:
- ジャバ 方で 言葉を ガール 数 あるように 日 与える APIを 提供すること ための 相対的に 薄い ジャバ コード.
- C++ ライブラリ (JavaHL library あるいは libsvnjavahl-1). ジャバ レイヤードは ジャバ ネイティブ インターフェース(JNI) 呼び出し(call)を 利用して これ レイヤードに 言葉を かける.C++ 階層は “こんにちは レベル” API街 具現された 階層に ある. 例を 入れば, ジャバは “これ メッセージと 一緒に ファイル リストを カーミットしなさい” して 言う. C++ 階層は メモリーを 気を使いながら もっと 低い レベルの サーブバージョン API 呼び出しを 行って 要請を 完了する.
- サーブバージョン ライブラリ 自分. コマンド ライン クライアントが 設置して 使う 彼 ライブラリと ような ライブラリだ. また TortoiseSVNおこるが AnkhSVN ような 違う サーブバージョン クライアントたちも こういう ような ライブラリたちを 使う.
- サーブバージョン ライブラリ 依存性. サーブバージョンは 作動すること のために 多数の 外部 ライブラリが 必要だ. 仮装(家長) 大きい 部分は アパッチ ポータブル ランタイム(APR)で, Neon for the HTTP クライアントと 保安 制御を ための OpenSSL などの ライブラリも 必要だ.
JavaHLこれ アプリケーションに 使われて 作動するように 夏期 のために これ はい 枝 階層が 必要だ.
なぜ サーブクリップ須恵 JavaHLこれ 必要なのか?
ソブクルリブスウン ジャバで 作られた. そのため サーブバージョン APIを 使うこと ためには JavaHL ライブラリを 使うと する. ソブクルリブスは JavaHL義 ジャバ 階層を 内蔵して ある. ところで 前の 項目を 見れば, それが 実際で 作動すること のために 歳 犬の お互いに 違う 階層が 必要だという のを 卵 数 ある のだ. (根本的には ネイティブ ライブラリ.)
なぜ ソブクルリブスが JavaHLに 必要な あらゆる のを 提供するの ないのか?
32ビート ウィンドウで 私たちは 必要な あらゆる のを 提供する. しかし 違う やけどしては 技術的 理由で そうに 割 数 ない. ネイティブ ライブラリたちが お互いに 違う 運営体制で ロードされる 方法が あると する. ジャバと 李クリップ須恵書 使われる 時 お互いに 違う 歳 階層を そうに 作動させる 方法は ない. そうに 夏期 のために 捜す 数 ある ユイルハン 方法は それが 運営体制が 捜す 数 ある 正しい 位置に まともに 設置されたのか 確認する のだ. ウィンドウ ライブラリ ローディングには ジャバで 利用する 数 ある クォーク(quirk)街 ある. 基本的に, 私たちは 役 注文を 通じて 依存性を ロードする 数 あって, そうに することで 私たちは それぞれの ライブラリを 呼んで来る 数 ある. 依存性が もう メモリーに ロードされて あって ローダーが これ以上 彼らを 呼んで来ようと 試みるの ない だからだ.(何 言葉なのか;;)
JavaHLを どうに 得る 数 あるんですか?
運営体制に よって 多様する.
ウィンドウ 32ビート
ソブクルリブス 自体に 必要な あらゆる 蟹 入っている. 私たちの イクルリブス アップデート サイトで JavaHL プラグインが ソルチドエッヌンジだけ 確認すれば なる.
ウィンドウ 64ビート
もし 32ビート JVMを 使って あったら ソブクルリブスが まともに 作動する のだ. もし 64ビート JVMを 使って あったら JavaHL 64ビート バージョンを 提供すると する. 彼 中 一つは SlikSVNで ここで 得る 数 ある:
http://www.sliksvn.com/en/download
パッケージを 設置すれば, ソブクルリブスが PATHで JavaHLを 捜す ので, まともに 作動する ことだ.
OS X
仮装(家長) 易しい 方法は OSX パッケージを ダウンロードして 設置する のだ. OSX パッケージは openCollabNetを 提供する.これは JavaHL ライブラリを 持って ある サーブバージョンを 設置する. 位置は /opt/subversion 載せる. そして 出て JavaHL ライブラリを のために /Library/Java/Extensionsに シンボリック リンクを 作る. これ 所は OSX JVMこれ JNI路 ライブラリを 呼んで来る 時 確認する グローバルした 位置だ. そのため 基本的に, これ パッケージを 設置すれば もっと 割 蟹 ない. ソブクルリブスを 設置した 後 これを 設置すれば 大丈夫だ. 32ビートと 64ビート 皆に 使う 数 ある. MacPorts また 手軽い サーブバージョンと JavaHL パッケージを 提供する. しかし スノー レオパド MacPorts増えた 不変が これ パッケージたちを 32ビート バイナリーで コンパイルする. もし 基本に ある 64ビート スノー レオパド JVMを 使えば JavaHLこれ ロードされた 時 下と ような エラーを 見るように なる のだ.
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 /opt/local/lib/libsvnjavahl-1.0.0.0.dylib: no suitable image found. Did find: /opt/local/lib/libsvnjavahl-1.0.0.0.dylib: mach-o, but wrong architecture
誤った アーキテクチャーという エラー メッセージを 注目しなさい. これは 64ビート JVMこれ 32ビート ネイティブ ライブラリを ロードする 数 ないという 話だ. OSX CollabNet バイナリーには こういう 問題が ない. そこには 32ビッドと 64ビート バージョンが 皆 あること だからだ.
[2012-09-05 私が 追加 - SVN 最新 バージョンを 設置すると したら OSX CollabNetを 設置するの なくてsvn ソースを 受けて コンパイルする 蟹 ましな ことだ. (コンパイルリンクに 出る SVN ダウンロード リンクは 割れて あるから 私が svnソースという 単語に かけて 置いた リンクで 行って ダウンを 受けなさい)
OSXで コンパイルを のために make ような コマンドを 使おうとすれば 二 枝 方法が ある. 一つはXcodeを 開いて, Preferences > Downloads > Components > Command Line Tools を 設置する のだ. 違う 一つは,osx-gcc-installerを ダウン受けて 設置する のだ. 私が 日 見たら Xcodeで 設置する 蟹 用量も 100メガ 少なくて ダウン 速度も 早かった.]
リナックス
これは 本当 複雑だ. 数多い 配布版が あること だからだ.
CollabNet銀 JavaHLを 含んだ レドヘッを のために クライアント RPMを 提供する.( http://www.collab.net/downloads/subversion#tab-1) 内 経験上, これ RPM銀 違う リナックス 配布版でも 作動する. CentOS私 Suse ような RPM 基盤 配布版では RPM 設置 問題である だけだ. デービーの中 基盤 システムで, RPMを 設置すること のために alien パッケージを 使う 数 ある.
勿論 ウブント ような 多い リナックス 配布版が サーブバージョン パッケージを アップデートすること ための 良い 方法を 提供する. こういう 方法を 使えば JavaHLこれ 大部分 寝る 設置される. 典型的に JavaHL ライブラリは メイン サーブバージョン パッケージに 依存的な 分離した パッケージたちに 入って ある. デービーの中/ウブントでは パッケージ 名前が libsvn-javaだ. そのため こういう コマンドだけで ライブラリを 設置する 数 ある.
sudo apt-get install libsvn-java
一応 ライブラリを インストールすれば, (イクルリブスを 使う 時) ジャバに どこで それを 捜す 数 あるのか 言って 与えると する. リナックス JVM 多い 場合 ライブラリを 探し のために 標準 経路を 察するの ない. これは 未来に 分明 変わる のだ. 例えば, デービーの中/ウブントは ジャバに 使われる ライブラリで /usr/lib/jniという 標準 経路を 使う. しかし, サン JVM銀 今 これ 経路を 察するの ない. ジャバに どこで JavaHL ライブラリを 捜す 数 あるのか 言って 与える 仮装(家長) 易しい 方法は JVMこれ 始める 時 下と 一緒に 銘記して 与える のだ.
-Djava.library.path=/usr/lib/jni
CollabNet サーブバージョンは /opt/CollabNet_Subversion に 設置される. したがって これ パッケージを 使う 場合 こんなに 使うと する.
-Djava.library.path=/opt/CollabNet_Subversion/lib
ライブラリの 名前は libsvnjavahl-1.so だ. 経路を 銘記する 時 これ ファイルを 含むと する.
イクルリブスは これ セッティングを のために 自分の メカニズムを 提供する. イクルリブスには eclipse.ini という 名前の ファイルが ある. これ ファイルは JVMこれ 実行される 時 察して 見る ファイルで, JVMに セッティングを 追加する. 特に, “-vmargs” という ラインを 捜すと する. これ ライン 下側に 新しい ラインを 追加して 上 ラインを 追加して セッティングが JVMに 必要だと 知らせて 与える. たいてい 竝びに 引受 一つだけ 入れると する. すなわち, 必ず 新しい 竝びに 入れると する. そして たいてい 竝びに 上で 言った 内容を だ 入れて 与えると する. これ
- コメント機能はありません。コメントの代わりに[email protected]
にメールを送ってください。