Java:如何确保命令行编译使用正确的Java版本?
我正在从Java1.6过渡到Java7。它进行编译,但在使用字符串的switch语句上出现incompatible types
错误(编译器抱怨它应该是int类型):
switch ("hello") {
...
}
因此,我认为它没有看到版本7。但是,当我键入java -version
时,我看到:
java version "1.7.0_25"
Java(TM) SE Runtime Environment (build 1.7.0_25-b15)
Java HotSpot(TM) 64-Bit Server VM (build 23.25-b01, mixed mode)
当我键入javac -version
时,它显示javac 1.6.0_30
。如何解决这个问题
# 1 楼答案
指定
-source 1.7
或-target 1.7,
哪个最适合您。如果它不是1.7编译器,则在编译开始之前,这两个编译器中的任何一个都会失败# 2 楼答案
但是我发现我可以通过修改我的。上面的bash_概要文件从导出路径=$PATH:$JAVA_HOME/bin到导出路径=$JAVA_HOME/bin:$PATH,解决了这个问题