2012-11-09 51 views
1

在我的Mac上,我在本地刪除了java,只是用java(/System/Library/Frameworks/JavaVM.framework/Versions/)刪除了該文件夾。mac 6上的java 6 x 10.7.5

當我安裝Java 6,我再次被安裝到:/圖書館/的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) - 從蘋果網站

使dyld:庫未加載:/系統/資源庫/框架/ JavaVM的.framework /版本/ A /的JavaVM 從參考:/Library/Java/JavaVirtualMachines/1.6.0_37-b06-434.jdk/Contents/Home/bin/./java 原因:圖像沒有發現 跟蹤/ BPT陷阱: 5

- 4--

如果試圖從MAC端口

安裝Java 6(開放JDK)$ sudo的港口安裝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** 

回答

2

確定。我修好了它。

問題是Java有兩個地方。

  1. /System/Library/Frameworks/JavaVM.framework(是真實的JDK 6的位置)
  2. /圖書館/的Java/JavaVirtualMachines /(分別爲5月的Java6現在,它只有鏈接)

如果把JDK放到源碼1,它會嘗試使用特定版本的java(在我的情況下是1.6.0)引用源碼2(通過符號鏈接),並且它找不到適當的對象/文件鏈接到。

只要我修好它開始工作。

所以,我只是恢復所有內容,從另一臺工作機器獲取它。 Bu的想法是,Mac OS使用兩個位置來存儲Java相關文件。