Java:如何确保命令行编译使用正确的Java版本?

时间:2014-04-22 02:22:58

标签: java

我从Java 1.6转换到7.它编译,但在我的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。如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

指定最适合您的-source 1.7-target 1.7,。如果它不是1.7编译器,则在编译开始之前,其中任何一个都将失败。

答案 1 :(得分:0)

但是我发现我可以通过从导出PATH = $ PATH:$ JAVA_HOME / bin修改上面的.bash_profile文件来切换顺序以导出PATH = $ JAVA_HOME / bin:$ PATH,这解决了问题。