相关疑难解决方法(0)

升级到Java8后,javac仍显示1.7

我在OSX上从JDK 1.7升级到问题 - > 1.8.升级已经完成,但javac仍然返回1.7作为版本.

我从Oracle的主页下载了JDK 8_u5,然后运行安装程序.

我还在安装后采取了以下步骤:

> export JAVA_HOME=`/usr/libexec/java_home -v 1.8`  (Executed in my .bashrc file)

> echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home

> javac -version
javac 1.7.0_21

> $JAVA_HOME/bin/javac -version
javac 1.7.0_21

> $JAVA_HOME/bin/java -version    
java version "1.8.0_05"
Java(TM) SE Runtime Environment (build 1.8.0_05-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.5-b02, mixed mode)
Run Code Online (Sandbox Code Playgroud)

我已经完成并删除了Java 1.7(和所有其他JDK版本),然后重新运行安装程序:

> ls /Library/Java/JavaVirtualMachines
jdk1.8.0_05.jdk
Run Code Online (Sandbox Code Playgroud)

仍然没有用,javac报告版本为1.7.0_21

> which javac
/usr/bin/javac

> ls -ltra /usr/bin/javac 
[snipped] /usr/bin/javac -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/javac
Run Code Online (Sandbox Code Playgroud)

在该路径中,Current是一个符号链接A.内容A/Commands …

java macos java-8

37
推荐指数
2
解决办法
4万
查看次数

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 ×2

macos ×2

java-8 ×1