我一直在研究 Aptana Studio 和一些需要 JRE 的软件一段时间了,但是从昨天开始发生了一些很奇怪的事情,因为突然需要它的软件向我抛出了一个错误 No Java virtual machine was found 我之前做的最后一件事是恢复我的系统文件权限 认为安全模式,因为我遇到了一些麻烦,这与它有什么关系吗?

我再次尝试安装 JRE,没有结果。但是当我跑

/Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java -version

我确实得到以下信息
java version "1.7.0_55"
Java(TM) SE Runtime Environment (build 1.7.0_55-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.55-b03, mixed mode)
Aptana 给了我以下错误
No Java virtual machine
was found after searching the following locations:
/Applications/Aptana Studio 3/AptanaStudio3.app/Contents/MacOS/jre/bin/java
java in your current PATH

而其他软件如 Spine 不会简单地启动。

我的 .bash_profile 如下:
PATH="/Library/Frameworks/Python.framework/Versions/3.4/bin:${PATH}"
PATH="/Library/Java/JavaVirtualMachines/jdk1.7.0_55.jdk/Contents/Home/bin:${PAT$
export PATH
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_55.jdk/Contents/Home
echo $PATH 的输出如下
/Library/Java/JavaVirtualMachines/jdk1.7.0_55.jdk/Contents/Home/bin:/Library/Frameworks/Python.framework/Versions/3.4/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin
echo $JAVA_HOME 的输出如下
/Library/Java/JavaVirtualMachines/jdk1.7.0_55.jdk/Contents/Home

和终端上的 Java 调用工作。

指导将不胜感激。

最佳答案

在尝试了彼得的建议后,问题仍然存在,但现在在另一种情况下:"/System/Library/Frameworks/JavaVM.framework" does not contain the JNI_CreateJavaVM symbol"
经过几个小时的努力,并阅读有关选择重新安装整个操作系统的相同问题的人,决定从另一个角度检查问题, 我在这里首先提到的我认为没有引起注意的事情是我恢复了我的权限在发生这种情况 之前,我所做的是以下内容。

  • 在阅读了一堆关于 的文章后,Apple 不再为自己提供 Java 支持 而是 Oracle 提供它,通过它进行推理并意识到 Apple 最终 Java 版本的路径(通常称为目录)可能与新版本的路径(通常称为目录)不完全相同Oracle 发布,所以决定 清除我在 /Library/Java/JavaVirtualMachines 上找到的所有最近的 Oracle Java Runtime Environment 从/Applications 中删除 Java Applet Plugin (只需在/Applications 路径上搜索它)。
  • 从以下 link 安装了 Apple 的最后一个稳定版本
  • 位于 Apple 所在的 Java 版本 : /System/Library/Frameworks/
  • 我特别感兴趣的是 Java 运行时环境,所以我 JavaVM
  • 上探索了 /System/Library/Frameworks/ 目录
  • 发现所有 Apple 的 JRE 以前版本都驻留在 Versions 目录中名为 /System/Library/Frameworks/JavaVM.framework 的目录中,在这里我注意到一些罕见的东西,出于某种原因,我从磁盘实用程序应用程序恢复了文件权限, 这个目录是使 无法访问(通过不授予 root 用户访问自身任何内容的权限)。
  • 转到我的终端控制台 并在 JavaVM.framework 目录中 修改了 对该目录的权限,以便通过运行以下命令 chmod -R 777 Versions 可供所有用户访问。

  • 执行完这些操作后,我直接进入我的 JRE-Required 软件并尝试打开它, 成功 !

    从问题中学到的东西。
  • Oracle 的 Java JDK/JRE 位于与 Apple 不同的路径中。 (如果您遇到其他问题,请验证您的 Java 版本以确定您的 Java 安装目录)
  • Apple 的磁盘实用程序应用程序可能会为某些文件定义与预期不同的权限。 (恢复权限后验证一切正常,如果不是,这可能是导致您出现问题的原因。)
  • 关于未找到 Java 运行时环境错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23139060/

    10-13 07:35
    查看更多