javac:目标版本7与默认源版本1.8冲突
我在玩javac,我不能将简单的java类编译成1.7版本javac:目标版本7与默认源版本1.8冲突,java,Java,我在玩javac,我不能将简单的java类编译成1.7版本 C:\Tests>javac -target 7 GreetingsUniverse.java -nowarn javac: target release 7 conflicts with default source release 1.8 C:\Tests>javac -version javac 1.8.0_73 原因可能是什么?这仅仅意味着版本为1.n的JDK发行版的javac程序可以在版本为1.n或更高版本的j
C:\Tests>javac -target 7 GreetingsUniverse.java -nowarn
javac: target release 7 conflicts with default source release 1.8
C:\Tests>javac -version
javac 1.8.0_73
原因可能是什么?这仅仅意味着版本为
1.n
的JDK发行版的javac
程序可以在版本为1.n
或更高版本的java
程序上运行
您正在使用JDK发行版
1.8.0_73
中的javac
,这意味着编译的字节码只能由JRE发行版1.8
或更高版本执行。添加一个与您的-target匹配的-source,因此我相信是1.7。你应该把它修好
否则,您将把所有那些很酷的1.8闭包编译到一个1.7 jar上,以便在1.7 jvm上运行,而这个jvm是不起作用的。如果不是因为它有一个
-target
参数,那么这是有意义的;假设javac
无法为以前的版本生成字节码,为什么它甚至会有这样一个参数?它给出了警告,但成功地运行了javac-target 1.7-source 1.7 newq.java
。