我正在使用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
可能的原因是什么?
我正在使用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.7版本。这应该可以解决问题。
否则,您将把所有这些酷炫的1.8闭包编译到一个1.7的JAR文件中,并在1.7的JVM上运行,这样是行不通的。
1.n
的javac
程序可以在来自版本1.n
或更高版本的java
程序上运行。1.8.0_73
的javac
,这意味着编译后的字节码只能由JRE版本1.8
或更高版本执行。-target
参数,这就说得通了;假设javac
无法为早期版本生成字节码,那么它为什么会有这样的参数呢? - Haroldo_OK
javac -target 1.7 -source 1.7 newq.java
运行成功,但发出了一个警告。 - Nappa