java - javac中-source的使用
问题描述
从文档
-source release 指定接受的源代码版本。
如果我有一个 JDK 版本,比如 1.8,我提到-source=1.6
了,这是什么意思?这是否仅仅意味着我写的任何代码都可以被JDK 1.6或更高版本的javac编译?
如果是这样,为什么要-source=1.6
在javac
命令期间通过?因为这会生成.class
文件,因此没有源代码可以标记(源代码与 1.6 或更高版本的兼容性)?在 javac 命令之后,我们得到的只是字节码,没有.java
文件。
解决方案
这是否仅仅意味着我写的任何代码都可以被JDK 1.6或更高版本的javac编译?
没有。
该-source=1.6
选项意味着您的代码只能使用 Java 6 和Java 语言早期版本中的 Java 语言结构。
例如,任何 Java 8 lambda 或 Java 9var
声明都将被标记为编译错误。
推荐阅读
- django - 插入 DRF 中的嵌套序列化程序
- c++ - 从其他类访问模板时出现问题
- python - JSON 中的一个属性在两个单独的列中
- .net - 在 Windows 任务栏中显示进度 (Powershell)
- sql - 创建插入表并执行批处理文件的触发器
- eslint - 所有 ESLint 解析器都处理相同的选项吗?
- javascript - Mongoose 查找与 id 数组的每个条目匹配的所有文档
- reactjs - React Typescript:添加位置状态以响应路由器组件
- c# - 从字典中的一系列列表中删除值的最有效方法?
- go - 仅当我使用移动数据通过电话连接时出现 TLS 握手错误