相关疑难解决方法(0)

Mac OS X Mavericks中的多个Java安装

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

这是我提到的两页.

现在我的计算机上安装了三个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)
Run Code Online (Sandbox Code Playgroud)

安装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)
Run Code Online (Sandbox Code Playgroud)

安装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)
Run Code Online (Sandbox Code Playgroud)

我发现我可以轻松删除安装C,但我不确定这是否正常.

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

java -version …
Run Code Online (Sandbox Code Playgroud)

java eclipse macos osx-mavericks

13
推荐指数
2
解决办法
3万
查看次数

运行为1.5的OSX 10.9.2上的Java 1.7?

拉出我的头发.java -version并且javac -version两者报告相同的1.7.0_45,但是当我尝试编译最简单的类时,我得到一个类文件错误:

> cat A.java
public class A {}

> javac A.java
A.java:1: cannot access java.lang.Object
bad class file: /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/jre/lib/rt.jar(java/lang/Object.class)
class file has wrong version 51.0, should be 49.0
Please remove or make sure it appears in the correct subdirectory of the classpath.
public class A {}
       ^
1 error
Run Code Online (Sandbox Code Playgroud)

肯定没有安装JDK 1.5.我不认为有甚至上OSX运行的任何更多的是1.5 JDK.

FWIW,这是包含"版本"和存根可执行文件的框架目录:

> ls -al /System/Library/Frameworks/JavaVM.framework/Versions/
total 64
drwxr-xr-x  11 root  wheel  374 28 Mar 09:03 .
drwxr-xr-x  12 root  wheel …
Run Code Online (Sandbox Code Playgroud)

java macos osx-mavericks

6
推荐指数
1
解决办法
1560
查看次数

Java编译错误:Mac

我在Eclipse上运行1.7 JDK时出现了编译问题:

类文件有错误的版本51.0,应该是49.0

所以,因为这看起来像一个javac版本问题我删除了所有java版本.安装了1.7_51,安装了Apple提供的1.6版本,以便Eclipse运行,更改了sym链接,因此1.7是默认值.和以前一样的问题,同样的项目不会编译,尽管其他人做了,

下一步,将问题解决为裸骨,即从等式中删除ant等 - 使用的Test.java文件没有方法,只有System.out.println()的main.cd到包含源文件的目录并运行编译器指定javac的完整路径,检查未设置JAVA_HOME:

$ /Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/bin/javac Test.java -verbose -extdirs.-endorseddirs.-cp.-bootclasspath /Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/jre/lib/rt.jar -version

输出:

javac 1.7.0_51

[解析开始Test.java]

[解析完成67ms]

[源文件的搜索路径:[.]]

[类文件的搜索路径:[/ Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/jre/lib/rt.jar,.]]

[loading /Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/jre/lib/rt.jar(java/lang/Object.class)]

Test.java:11:无法访问java.lang.Object坏类文件:/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/jre/lib/rt.jar(java/lang/Object.class )

类文件有错误的版本51.0,应该是49.0

请删除或确保它出现在类路径的正确子目录中.公共课测试{^

[总共336ms] 1错误

Flumoxed.

有任何想法吗 ?

在相关的说明中,我似乎无法让javac接受1.5/5以上的-target选项:

$ /Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/bin/javac Test.java -verbose -extdirs.-endorseddirs.-cp.-bootclasspath /Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/jre/lib/rt.jar -version -target 1.7

结果是:

javac 1.7.0_51

javac:无效的目标版本:1.7

java macos

4
推荐指数
1
解决办法
2472
查看次数

标签 统计

java ×3

macos ×3

osx-mavericks ×2

eclipse ×1