首页 > 解决方案 > javac中-source的使用

问题描述

文档

-source release 指定接受的源代码版本。

如果我有一个 JDK 版本,比如 1.8,我提到-source=1.6了,这是什么意思?这是否仅仅意味着我写的任何代码都可以被JDK 1.6或更高版本的javac编译?

如果是这样,为什么要-source=1.6javac命令期间通过?因为这会生成.class文件,因此没有源代码可以标记(源代码与 1.6 或更高版本的兼容性)?在 javac 命令之后,我们得到的只是字节码,没有.java文件。

标签: java

解决方案


这是否仅仅意味着我写的任何代码都可以被JDK 1.6或更高版本的javac编译?

没有。

-source=1.6选项意味着您的代码只能使用 Java 6 和Java 语言早期版本中的 Java 语言结构。

例如,任何 Java 8 lambda 或 Java 9var声明都将被标记为编译错误。


推荐阅读