Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Yosemite上的Ant和Java_Java_Macos_Ant - Fatal编程技术网

Yosemite上的Ant和Java

Yosemite上的Ant和Java,java,macos,ant,Java,Macos,Ant,我最近升级到了约塞米蒂,这只不过是与java相关的问题。首先在操作系统启动时(与Adobe相关),然后在Eclipse启动时,它告诉我需要安装Java6。所以我去做了,事情变得更好了,但是Eclipse不起作用 所以我开始四处寻找,看起来苹果的Java安装现在是Java 7,尽管所有的符号链接都指向一个名为a的文件夹(即Java 7),但符号链接是1.4、1.5和1.6。所以我认为eclipse被搞糊涂了。所以我决定放弃苹果的Java,去买甲骨文的 所以我得到了Oracle,它安装到/Libra

我最近升级到了约塞米蒂,这只不过是与java相关的问题。首先在操作系统启动时(与Adobe相关),然后在Eclipse启动时,它告诉我需要安装Java6。所以我去做了,事情变得更好了,但是Eclipse不起作用

所以我开始四处寻找,看起来苹果的Java安装现在是Java 7,尽管所有的符号链接都指向一个名为a的文件夹(即Java 7),但符号链接是1.4、1.5和1.6。所以我认为eclipse被搞糊涂了。所以我决定放弃苹果的Java,去买甲骨文的

所以我得到了Oracle,它安装到
/Library/Java/JavaVirtualMachines/jdk1.7
。然而,/usr/bin中所有苹果的java链接都指向苹果的java。因此,为了解决此问题,我找到了以下文档:


但是
/usr/libexec/java\u 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\u home
返回的内容的隐藏符号链接。我安装了最新的JDK 7u71,我认为这就是罪魁祸首。我过早地删除了我拥有的旧JDK,并转到Oracle的存档中取回我的u51,但它没有安装,因为它认为OSX.10太旧了。所以我做了一个飞跃,获得了JDK 8,克服了我的ant问题,但现在我有了新的问题,包括Eclipse甚至不会启动。哎呀!如果你需要在Yosemite上安装Java 6,那么请务必从以下网站下载

对于Java 7、8等,请确保从web站点下载JDK(您似乎正在进行开发工作)


请注意,用于web浏览器小程序的JRE安装以不同的方式进行管理和安装(并且安装在不同的位置)。

如果您也需要Ant,请从Apache Ant官方网站安装:

如果您已经在使用自制软件,请使用该软件安装Ant


这个问题在某种程度上与优胜美地仍然存在的usr/libexec/java_home有关。它是我系统上的一个符号链接
/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java_home
。我不确定你指的是什么符号链接,或者你是如何更改它们的。将所有这些内容都设置为默认配置,是否尝试将JAVA_HOME变量添加到.profile文件中?不清楚需要哪个版本的Java,但例如:export Java_HOME=/Library/Java/JavaVirtualMachines/jdk1.7/Contents/HOME我个人从未在任何mac上调整过与jdk配置相关的符号链接,所以我很好奇这是否是一个必要的步骤。。。再说一次,我还没有更新到约塞米蒂:)@SteveC:我的符号链接不在libexec中,但它是您声明的地方,所以谢谢@SamB:是的,我同意,我记得oracle安装程序以前修复过符号链接,但不管出于什么原因,这次没有。没错,当我启动计算机或eclipse时,它会告诉我我需要java 6,这就是我得到它的原因。正如我所说,对于Java7,似乎有一个苹果安装了它,这就是所有/usr/bin链接指向的地方。我也安装了Oracle的Java 7,但安装程序没有像我记得的那样修复/usr/bin链接。从来没有“苹果”安装过Java 7。您是否可能安装了早期的OpenJDK版本之一?我想你是对的,A目录中的java似乎只是打开了使用java_home列出的任何内容,而A目录只是一堆隐藏的符号链接。