我从Oracle下载了适用于Mac OS X 10.9.1的JDK,但由于无法启动Eclipse,因此不得不再次从Apple站点安装另一个Java。
这是我引用的两页。
*在OS X 10.9(Mavericks)上安装Java
*http://support.apple.com/kb/DL1572?viewlocale=zh_CN
现在,我的计算机上安装了三个Java二进制文件。
安装A
/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)
安装B
/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)
安装C
/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)
我发现可以轻松删除Installation 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用于Mavericks吗?
编辑
经过一些设置和测试后,我仅安装了一个Java(1.6)。我有安装B,现在安装C已链接到安装A。
为了使用eclipse,我必须将Compiler Compliance级别设置为1.6才能使用它(来自帮助java.lang.UnsupportedClassVersionError Unsupported major.minor版本51.0)。
在此处输入图片说明
编辑2
这似乎发生了什么。
安装Apple Java
安装C
更改了安装B
1. 创建了一个 /System/Library/Frameworks/JavaVM.framework/Versions/A
2. 从安装C复制的文件(不是符号链接)
3. 将符号链接设为当前版本/ A
我尝试仅通过删除Apple Java来安装Oracle Java,但是却出现安装错误,因此我猜想需要安装Apple Java来安装Oracle Java。
指定Eclipse的JVM您可以在Eclipse使用指定的JDK版 本在eclipse.ini。这将解决启动Eclipse的问题。
-vm
/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/bin/java
警告:请在之前 添加此配置-vmargs。
使用jenv掌握Java环境
使用jenv维护多个JDK版本要容易得多。
jenv相当于rbenv,但适用于Java环境。它使您可以轻松地在多个JDK安装(已提供)之间切换,并配置每个项目要使用哪个JDK。
Eclipse 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创建新对象,则可以执行以下操作: 如果要合并它们,例如顶级对象有