java os on Mac os 10.7.5

时间:2012-11-09 14:26:00

标签: macos installation java

在我的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端口

安装java 6(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**

1 个答案:

答案 0 :(得分:2)

确定。我修好了。

问题在于Java有两个位置。

  1. /System/Library/Frameworks/JavaVM.framework(真正的jdk 6位于其中)
  2. / Library / Java / JavaVirtualMachines /(现在可能是java6,它只有链接)
  3. 如果将JDK放到源1,它会尝试使用特定版本的java(在我的情况下是1.6.0)引用源2(通过符号链接),并且找不到要链接的正确对象/文件。

    我一修好就开始工作了。

    所以,我刚刚恢复了所有内容,从另一台工作机器上获取它。我的想法是Mac OS使用两个位置来存储java相关文件。

相关问题