1

私のMacでは、Javaをローカルで削除し、Java(/System/Library/Frameworks/JavaVM.framework/Versions/)でフォルダーを削除しました。

java 6を再度インストールすると、/ Library / Java /JavaVirtualMachines/にインストールされました。

次に、新しいものをインストールした後、コンソールから「./java」を呼び出そうとすると、次のエラーが発生します。

ここで、Javaをホームディレクトリに配置します。ただし、標準のものを使用しても、同じ例外があります。

dyld: Library not loaded: /System/Library/Frameworks/JavaVM.framework/Versions/A/JavaVM
  Referenced from: /Users/myuser/java/1.6.0.jdk/Contents/Home/bin/./java
  Reason: image not found
Trace/BPT trap: 5

それを修正する方法はありますか?

---2---

ここでは、動作中のJava 6を別のマシンからコピーし、適切な/デフォルトの場所に配置してから、... / binに移動し、。/javaと入力します。

$ pwd
/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin
$ ./java -version
dyld: Library not loaded: @rpath/libjli.jnilib
  Referenced from: /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/./java
  Reason: image not found
Trace/BPT trap: 5

ただし、Java 7をインストールすると、完全に機能します。

--3--

jdk6を含むJavaDeveloper.pkgパッケージ(javadeveloper_for_os_x_2012006__11m3909.dmg)をインストールする場合-Appleサイトから

dyld:ライブラリがロードされていません:/System/Library/Frameworks/JavaVM.framework/Versions/A/JavaVM参照元:/Library/Java/JavaVirtualMachines/1.6.0_37-b06-434.jdk/Contents/Home/bin/./ java理由:画像が見つかりませんトレース/ BPTトラップ:5

--4--

MacポートからJava6(Open JDK)をインストールしようとした場合

$ sudo port install openjdk6

info:build Exiting because of the above error(s). \n 
:info:build make: *** [post-sanity] Error 1
:info:build Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_java_openjdk6/openjdk6/work/." && /usr/bin/make  ARCH_DATA_MODEL="64" ALT_BOOTDIR="/opt/local/share/java/openjdk6_bootstrap" ALT_JDK_IMPORT_PATH="/opt/local/share/java/openjdk6_bootstrap" ALT_BINARY_PLUGS_PATH="/opt/local/share/java/icedtea6-plugs/jre/lib/rt-closed.jar" ALT_DROPS_DIR="/opt/local/var/macports/distfiles/openjdk6" ANT_HOME="/opt/local/share/java/apache-ant" ALT_FREETYPE_HEADERS_PATH="/opt/local/include" ALT_FREETYPE_LIB_PATH="/opt/local/lib" ALT_CUPS_HEADERS_PATH="/usr/include" ALT_MOTIF_DIR="/opt/local" ALT_X11_PATH="/opt/local" ALT_DEVTOOLS_PATH=/usr ALT_CACERTS_FILE=/System/Library/Frameworks/JavaVM.framework/Home/lib/security/cacerts NO_DOCS=true LANG="C" BUILD_NUMBER="b20" MILESTONE=fcs HOTSPOT_BUILD_JOBS="2"  
**:info:build Exit code: 2
:error:build org.macports.build for port openjdk6 returned: command execution failed
:debug:build Error code: CHILDSTATUS 7773 2
:debug:build Backtrace: command execution failed**
4

1 に答える 1

2

Ok。それを私が直した。

問題は、Java が配置されている場所が 2 つあることでした。

  1. /System/Library/Frameworks/JavaVM.framework (本当のjdk 6が配置されていました)
  2. /Library/Java/JavaVirtualMachines/ (現在は java6 だったかもしれませんが、リンクしかありません)

また、JDK をソース 1 に配置すると、特定のバージョンの Java (私の場合は 1.6.0) を使用してソース 2 (シンボリックリンクによる) を参照しようとしますが、リンク先の適切なオブジェクト/ファイルが見つかりませんでした。

修正するとすぐに動作し始めました。

そのため、別の稼働中のマシンから取得して、すべてのコンテンツを復元しました。Bu のアイデアは、Mac OS が 2 つの場所を使用して Java 関連のファイルを保存するということです。

于 2012-11-09T17:30:48.730 に答える