【问题标题】:Eclipse not opening jvm out of date macEclipse 没有打开 jvm 过时的 mac
【发布时间】:2014-09-18 06:24:51
【问题描述】:

我在 Mac 上尝试使用较新版本的 eclipse 编写 java 程序,但它们无法正常工作。旧版本的 eclipse 可以运行,但我最近安装了 Eclipse Luna,当我打开它时,它说:“JVM 版本 1.6.0_31 不适合此产品。版本:需要 1.7 或更高版本。”但是我安装了最新版本的java。我安装了最新版本的 JDK,如果我没记错的话,JVM 是 Java 虚拟机,但我不知道如何更新它。我对java很熟悉,但是我是JVM之类的东西是如何工作的初学者,所以在解释答案时请尽量具体。还要解释它为什么起作用以及为什么它以前不起作用。我在发布之前在这个网站上进行了搜索,类似问题的一个答案是输入

 export JAVA_HOME=/usr/libexec/java_home -v 1.7

进入终端,但终端给了我错误:

 -bash: export: `/usr/libexec/java_home': not a valid identifier
 -bash: export: `-v': not a valid identifier
 -bash: export: `1.7': not a valid identifier

所以请帮忙,我不知道该怎么办。

【问题讨论】:

  • export JAVA_HOME=$(/usr/libexec/java_home -v 1.7) 是您可能需要键入的内容,但您需要安装 1.7 JDK,可从 java.com 下载。
  • @Petesh 写一个关于它的答案?
  • “java -v”现在在你的终端上给你什么?
  • @Petesh 说没有这个文件或目录,但是我确实安装了JDK 7。安装程序说安装成功,但可能没有成功,但我不知道为什么.
  • @Swapnil java -v 说:“无法识别的选项:-v”“错误:无法创建 Java 虚拟机。” “错误:发生致命异常。程序将退出。”

标签: java eclipse macos jvm


【解决方案1】:

我有很长一段时间都遇到同样的问题。这对我有帮助。 在终端中运行以下命令..

export JAVA_HOME="/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home"

使用java -version 命令验证更改..

【讨论】:

    【解决方案2】:

    首先,您需要验证您是否安装了 1.7 或更高版本的 JVM。为此,您需要:

    /usr/libexec/java_home --verbose
    

    此命令内置于 mac OS X 中,将列出所有已知的可用 java 环境。如果您在列表中没有看到 1.7 虚拟机,则说明它没有正确安装。

    其次,您需要确保您下载的 Eclipse 版本与 JVM 兼容。例如,我安装了以下 JDK:

    1.8.0_05, x86_64:   "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home
    1.7.0_55, x86_64:   "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_55.jdk/Contents/Home
    1.6.0_65-b14-462, x86_64:   "Java SE 6" /Library/Java/JavaVirtualMachines/1.6.0_65-b14-462.jdk/Contents/Home
    1.6.0_65-b14-462, i386: "Java SE 6" /Library/Java/JavaVirtualMachines/1.6.0_65-b14-462.jdk/Contents/Home
    

    这意味着我可以在 1.6、1.7 和 1.8 VM 上使用 64 位 (x86_64) 版本的 eclipse。

    这意味着我只能在 1.6 VM 上使用 32 位 (i386) 版本的 eclipse,因为这是唯一具有 32 位 JDK 的版本。

    Eclipsepedia installation page 表示大多数基于 Eclipse 4.4 的 Luna 软件包下载都需要 1.7 JDK/JRE(摘自页面)。

    所以,请确保您使用的是 64 位下载。

    要确定您下载的 Eclipse 实例的 32/64 位版本,请在终端转到 Eclipse 安装目录。在具有名为Eclipse.appconfigurationplugins 的目录的同一目录中,有一个指向eclipse 二进制文件的符号链接。运行file eclipse,它会告诉你它运行的模式;如果你得到x86_64,那么它是64位版本,如果你得到i386,那么它是32位版本。

    64位:

    $ file eclipse
    eclipse: Mach-O 64-bit executable x86_64
    

    32 位:

    $ file eclipse
    eclipse: Mach-O 32-bit executable i386
    

    【讨论】:

    • 这些是我安装的所有 JDK:1.7.0_55, x86_64: "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_55.jdk/Contents/Home 1.6.0_31-b04 -415,x86_64:“Java SE 6”/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home 1.6.0_31-b04-415,i386:“Java SE 6”/System/Library/Java/ JavaVirtualMachines/1.6.0.jdk/Contents/Home 1.7.0_65, x86_64: "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_65.jdk/Contents/Home 看来我已经安装了 JDK 1.7。我似乎有多个 64 位的 Java 7 版本。我不明白这怎么可能是一个问题,但也许它是。
    • 好的,这说明你已经安装了 1.7 的虚拟机,现在你需要验证你是否下载了 64 位版本的 eclipse;因为这是唯一适用于这些特定 JDK 的版本。从终端窗口运行 file eclipse 在提取的 Eclipse 安装 .tar.gz 的顶层文件上。如果没有返回x86_64,则返回eclipse站点下载64位版本。
    • 耶!那解决了它。谢谢!我想我只有 32 位版本的 eclipse。
    【解决方案3】:

    安装最新的java SE后运行

    export JAVA_HOME="/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home"

    它对我有用

    【讨论】:

      【解决方案4】:

      我认为您系统上的 Java 1.6 版本可能是 Apple 的 Java 运行时。从 Java 7 开始,Apple 决定不制作自己的端口,您需要从 Oracle 获取。

      您的 Java 安装似乎有问题。您可以尝试删除现有的 Java 安装,然后从 Oracle 安装 Java 7 的新副本,然后尝试先运行 java -v。如果效果不错,那么您可以设置JAVA_HOME 并走得更远。

      【讨论】:

        猜你喜欢
        • 2012-09-09
        • 1970-01-01
        • 2022-01-25
        • 2017-11-05
        • 1970-01-01
        • 2014-11-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多