当前位置: 首页 > 面试题库 >

OS X中的Eclipse使用与CLI不同的Java版本

刘高驰
2023-03-14
问题内容

当我java -version在控制台中键入时,我得到了java version "1.8.0_05"。软链接/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK指向/Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents。在Java首选项窗口中,唯一列出的Java版本是1.8。JAVA_HOME设置为/Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home

但是,当我尝试运行Eclipse.app时,出现错误: Version 1.6.0_65 of the JVM is not suitable for this product. Version: 1.7 or greater required.

我相信它正在尝试使用,/System/Library/Java/JavaVirtualMachines并且在该目录中唯一的版本是1.6.0.jdk

如何获得Eclipse以使用正确版本的Java?


问题答案:

下载64位版本的Eclipse,而不是32位版本。

原因是Eclipse包含本机机器代码(用于GUI),这就是为什么同时具有32位和64位版本的Eclipse的原因,并且这明确要求使用相应的Java版本。最初,Apple创建了两个版本,最高支持Java
6,但是Oracle仅创建了64位版本(这让旧机器的所有者感到沮丧)。因此,如果您下载32位版本的Eclipse,它将只能在Apple
JVM上运行,而Apple JVM显然太旧了(这让我感到惊讶-我认为Eclipse 4.4仍支持Java 6)



 类似资料:
  • 问题内容: 似乎这应该是一个简单的任务,它具有“首选项”菜单中用于不同JRE的选项,并且能够为每个项目设置不同的编译器和构建路径。但是,这似乎也根本行不通。 例如,我将JAVA_HOME设置为Java 1.6的jre。我仍然不清楚Eclipse如何使用此功能,但是它似乎是默认设置,并且未采用项目替代。我还安装了Java 1.5,并在Eclipse的Java-> Installed JREs部分中为

  • 问题内容: 我已经安装了Java6和7,并使用eclipse编写了一个简单的jdbc应用程序。我在lib文件夹中同时有sqljdbc4.jar和sqljdbc.jar。我收到此消息… 2013年12月18日9:29:51 com.microsoft.sqlserver.jdbc.SQLServerConnection 严重:该驱动程序不支持Java Runtime Environment(JRE)

  • 问题内容: 我想使用MAMP的PHP版本,而不是Mac上安装的默认版本。我尝试使用 但出现“文件存在”错误。解决此问题的最佳方法是什么,因此我可以只键入php而不是完整路径? 问题答案: 我不建议您尝试修改命令行上调用的PHP的默认版本。如果您决定升级操作系统,这样做可能会破坏系统的其他部分,并在将来给您带来问题。 有一种替代方案可以满足您的需求。您可以为MAMP的php 5.3副本创建别名。就我

  • 每当我在我的计算机(Ubuntu 13.10,AMD64)上编译更少的css文件时,我得到的浮点结果与我的同事在他的计算机(Mac OSX 10.6)上编译的结果截然不同。这一切都很好。浮点数学等等。这些数字基本上是一样的。胡说八道。 但是,这使得区分和提交输出非常烦人。我最终发现了数百个可以忽略的问题: 我能做些什么来避免这个问题?

  • 问题内容: 我刚刚安装了Eclipse Oxygen并创建了一个JFrame项目。从源视图切换到设计视图时,出现“不兼容的Java版本错误”。 完全错误Desc:Eclipse在0以下运行,但是此Java项目的Java兼容级别为10,因此WindowBuilder将无法从该项目中加载类。对项目使用较低级别的Java,或使用较新的Java版本运行Eclipse。 我在Windows中检查了版本->首

  • 问题内容: 好的,我对Mac和OSX有点陌生,但是我选择了一个,以便可以使用我的Java程序对一些Java程序进行故障排除,因为我工作的公司使用OSX和Windows机器的组合。我遇到的问题是,当我从Oracle网站安装Java 7时,它会更新首选项菜单,并在双击它们时似乎可以正确执行.jar文件,但是终端窗口的版本仍为1.6.0_43并运行由于版本较旧,终端上的相同.jar文件会导致运行时错误。