当前位置: 首页 > 知识库问答 >
问题:

Mac OS X Mavericks中的多个Java安装

谭思博
2023-03-14

我从Oracle下载了用于Mac OS X 10.9.1的JDK,但我不得不再次从Apple站点安装另一个Java,因为我无法使用它启动eclipse。

这是我提到的两页。

  • 在OS X 10.9(小牛)上安装Java
  • http://support.apple.com/kb/dl1572?viewlocale=en_us
/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java

java version "1.7.0_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)
/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/java

java version "1.6.0_65"
Java(TM) SE Runtime Environment (build 1.6.0_65-b14-462-11M4609)
Java HotSpot(TM) 64-Bit Server VM (build 20.65-b04-462, mixed mode)
/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/bin/java

java version "1.7.0_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)

我发现我可以很容易地移除安装C,但我不确定这是否可以。

当我从命令行调用java时,它指向安装A。

java -version
java version "1.7.0_51"

ls -alF `which java`
lrwxr-xr-x  1 root  wheel  74 Jan 15 09:12 /usr/bin/java@ -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java
  • 有没有办法安全地移除两个JDK 1.7,就可以为小牛使用一个JDK 1.7?

经过一些设置和测试,我只安装了一个Java(1.6)。我有安装B,现在安装C链接到安装A。

为了使用eclipse,我必须将编译器遵从级别设置为1.6才能使用它(来自帮助java.lang.UnsupportedClassVersionError Unsupported Major.Minor版本51.0)。

这似乎是发生了什么。

>

  • 安装Apple Java

    • 安装A
    • 安装B是指向a的符号链接
      null
  • 共有1个答案

    赵渊
    2023-03-14

    您可以在Eclipse.ini中指定用于Eclipse的JDK版本。这将解决启动Eclipse的问题。

    -vm
    /Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/bin/java
    

    警告:在-vmargs之前添加此配置

    使用Jenv维护多个JDK版本要容易得多。

    • 在Eclipse中设置JDK
     类似资料:
    • 问题内容: 我从Oracle下载了适用于Mac OS X 10.9.1的JDK,但由于无法启动Eclipse,因此不得不再次从Apple站点安装另一个Java。 这是我引用的两页。 现在,我的计算机上安装了三个Java二进制文件。 安装A 安装B 安装C 我发现可以轻松删除Installation C,但是不确定是否可以。 当我从命令行调用Java时,它指向安装A。 编辑 经过一些设置和测试后,我

    • 问题内容: (在回答之前,请至少阅读以下内容:这是一个临时措施!不,我们不想设置本地存储库管理器并手动运行脚本) 我们有一个带有一些依赖项的遗留项目,我们具有包含源代码和javadoc的本地副本,并且已被证明可以在生产环境中很好地工作,但是在Central中无法以相同的质量使用。我们想使用我们已经拥有的罐子。 我发现我可以手动运行一个适当的复杂mvn install:install-file命令来

    • 问题内容: 鉴于以下多态: 我们如何在没有昂贵的getInstance()方法同步和双重检查锁定争议的情况下使它保持线程安全和懒惰?这里提到了单例的有效方法,但似乎并没有扩展到多例。 问题答案: 使用Java 8,它甚至可以更简单:

    • 我找到了关于线程安全的代码,但它没有来自给出示例的人的任何解释。我想知道为什么如果我不在“count”之前设置“synchronized”变量,那么count值将是非原子的(总是=200是期望的结果)。谢谢

    • (在回答之前请至少阅读以下内容:这是临时措施!不,我们不想设置本地存储库管理器并手动运行脚本) 我们有一个带有一些依赖项的遗留项目,我们有一个包括源代码和javadoc的本地副本,并被证明在生产中运行良好,但在Central中没有相同质量的项目。我们想用我们已经有的那些罐子。

    • 问题内容: 我从两个不同的来源使用了一些JSON,最后得到两个s,我想将它们组合为一个。 数据: 使用http://json.org/java/库的代码: 因此,在这种情况下,我想将和组合在一起,以制作一个全新的产品或彼此结合。除了将它们拉开并分别加s 之外,还有其他想法吗? 问题答案: 如果要使用两个键Object1和Object2创建新对象,则可以执行以下操作: 如果要合并它们,例如顶级对象有