我最近升级到Yosemite,它只是与java相关的问题。首先是在启动操作系统(与Adobe相关),然后在Eclipse启动时,它告诉我需要安装Java 6.所以我去做了,事情变得更好但是Eclipse没有工作。< / p>
所以我开始四处寻找,看起来Apple的Java安装现在是Java 7,即使所有的符号链接都指向一个名为A的文件夹(也就是Java 7),但符号链接是1.4,1.5和1.6。所以我认为eclipse很困惑。因此,我决定抛弃Apple的Java并开始使用Oracle。
所以我得到了Oracle,它安装到/Library/Java/JavaVirtualMachines/jdk1.7
。但是,/ usr / bin中所有Apple的Java链接都指向Apple的Java。所以为了解决这个问题,我发现了这个文件:
http://docs.oracle.com/javase/7/docs/webnotes/install/mac/mac-jdk.html
但/usr/libexec/java_home
不再存在了。所以我自己更新所有的符号链接(不是通过编辑/usr/bin
中的链接,而是通过更新他们指向的内容)所以现在当我执行javac
它指向Oracle的JDK时,正如预期的那样
因此我想我修复了所有内容然后运行ant
,它在所有这些混乱之前工作,我得到了:
Apache Ant(TM) version 1.9.2 compiled on July 8 2013
Trying the default build file: build.xml
Buildfile: /Users/rjcarr/Subversion/p/build.xml
Detected Java version: 1.7 in: /Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home/jre
Detected OS: Unknown
parsing buildfile /Users/rjcarr/Subversion/p/build.xml with URI = file:/Users/rjcarr/Subversion/p/build.xml
Project base dir set to: /Users/rjcarr/Subversion/p
Caught an exception while logging the end of the build. Exception was:
java.lang.NoClassDefFoundError: Could not initialize class sun.util.calendar.ZoneInfoFile
...
There has been an error prior to that:
java.lang.AssertionError: Platform not recognized
这是我将$ JAVA_HOME设置为Oracle Java的结果。发生了什么事?
每次我更新OSX时都会发生这些事情,但我总是忘记我有多麻烦。 :)
更新:感谢您的帮助,我有更多信息。我已经在/ Library / Java / JavaVirtualMachines下安装了几个来自Oracle的JDK 7。似乎A文件夹中的所有内容都只是java_home
返回的内容符号链接。我安装了最新的JDK 7u71,我认为那是罪魁祸首。我过早地删除了我以前的旧JDK并转到Oracle的存档以取回我的u51,但它不会安装,因为它认为OSX.10太旧了。所以我实现了飞跃并获得了JDK 8并且克服了我的蚂蚁问题,但现在我遇到了新的问题,包括Eclipse甚至没有开始。哎呀!关闭我想的。
答案 0 :(得分:1)
如果您需要Yosemite上的Java 6,请务必通过Java for OS X 2014-001下载的版本安装。
对于Java 7,8等,请务必从Oracle Java Downloads网站下载 JDK (因为您似乎正在进行开发工作)。
请注意,用于Web浏览器小程序的JRE安装的管理和安装方式不同(并且位于不同的位置)。
答案 1 :(得分:0)
如果您也需要Ant,请从官方Apache Ant站点安装它:binary downloads
如果您已经在使用Homebrew,请使用它来安装Ant。
有些相关