Apple Silicon の Mac で Apache Directory Studio が起動しない問題は、x64 版 Java を使うことで解消できる場合があります。この記事では、実際に遭遇した JNI_CreateJavaVM 関連エラーと、回避手順を整理します。
背景や LDAP / LDAPS ツールとしての位置づけは別記事で整理しているため、この記事では実際の起動問題と対処に絞ります。
発生していたエラー
Mac mini M2 で Apache Directory Studio を起動しようとしたところ、次のエラーが表示されました。
The JVM shared library "/Library/Java/JavaVirtualMachines/temurin-20.jdk/Contents/Home/bin/../lib/server/libjvm.dylib"
does not contain the JNI_CreateJavaVM symbol.この時点では、libjvm.dylib のファイル自体は存在していました。つまり、単純なファイル欠落ではなく、Apache Directory Studio と Java 実行環境の組み合わせが合っていない状態でした。
確認したこと
まず、エラーに表示されている libjvm.dylib が存在するかを確認しました。
ls -l /Library/Java/JavaVirtualMachines/temurin-20.jdk/Contents/Home/bin/../lib/server/libjvm.dylibファイルが存在する場合、次に見るべきなのは Java のバージョンだけではなく、JDK のアーキテクチャです。Apple Silicon Mac では aarch64 版 Java が自然に見えますが、アプリ側が x64 前提で動いている場合は、ここで噛み合わないことがあります。
| 確認点 | 内容 |
|---|---|
| JDK のアーキテクチャ | aarch64 版か x64 版か |
| Apache Directory Studio の実行形式 | Apple Silicon ネイティブか x64 前提か |
| Java パス | アプリがどの JDK を参照しているか |
| Rosetta 2 | x64 アプリを Apple Silicon Mac で動かす前提があるか |
解消方法
この環境では、aarch64 版 Java ではなく x64 版 Java をインストールすることで Apache Directory Studio が起動できるようになりました。
- Apache Directory Studio の macOS 版をインストールする
- aarch64 版 Java で起動しない場合は x64 版 JDK をインストールする
- 必要に応じて Rosetta 2 を有効にする
- Apache Directory Studio を再起動する
Adoptium の Temurin JDK を使う場合は、macOS かつ x64 の JDK を選択します。Apple Silicon Mac でアクセスすると aarch64 版へ誘導されやすいため、アーキテクチャを意識して選ぶ必要があります。
Java パスを確認する
Apache Directory Studio がどの Java を参照しているかを確認したい場合は、アプリ内の Info.plist が手掛かりになります。
/Applications/ApacheDirectoryStudio.app/Contents/Info.plistここに Java の参照設定がある場合、インストールした JDK のパスと合っているかを確認します。ただし、アプリバンドル内のファイルを直接編集する場合は、更新や再インストールで戻る可能性があるため、恒久対応というよりトラブルシュート用と考えた方がよいです。
なぜ LDAP ブラウザが必要なのか
LDAP は CLI でも扱えます。LDIF や ldapsearch は自動化や運用に向いています。一方で、LDAP ツリー、OU、グループ、属性を俯瞰するには GUI の LDAP ブラウザが便利です。
特に Active Directory や OpenLDAP の設計段階では、DN の階層、属性の入り方、グループメンバーシップ、検索フィルタを目で確認できることに価値があります。Apache Directory Studio はその用途に合っています。
関連する注意点
Apache Directory Studio が起動できるようになっても、LDAPS 接続が成功するとは限りません。LDAPS では、接続先の DNS 名、証明書の CN / SAN、CA 証明書の信頼、ポート番号を別途確認する必要があります。
- LDAP は通常 389/TCP、LDAPS は 636/TCP を使う
- LDAPS では接続先名と証明書名の一致が重要になる
- 内部 CA や自己署名 CA を使う場合は、クライアント側で信頼させる必要がある
- GUI で見える問題と、証明書検証の問題を混同しない
まとめ
Apple Silicon Mac で Apache Directory Studio が起動しない場合、aarch64 版 Java が常に正解とは限りません。アプリ側が x64 前提で動いている場合、x64 版 Java を使うことで JNI_CreateJavaVM 関連のエラーを回避できることがあります。
LDAP / LDAPS の設計や確認では、CLI と GUI の両方を使い分けると見通しが良くなります。起動問題を解消した上で、LDAPS の証明書や DNS 名の確認は別の論点として切り分けるのがよいです。
書籍
LDAP – 設定・管理・プログラミング
LDAP / OpenLDAP の設定、管理、連携を確認したい場合の参考書籍です。古い書籍のため、価格や在庫はリンク先で確認してください。
Amazon で見るこのリンクは Amazon アソシエイトリンクです。
参考
- Apache Directory Studio – Downloads
- Adoptium Temurin x64 JDK for macOS
- Mac で Apache Directory Studio が起動しない時の確認点


