java - Java 11:javac --release 和 -source 和 -target 命令行参数有什么区别?
问题描述
有谁知道使用 --release 和旧的 -source 和 -target 命令行参数之间的区别?
在 javac 手册页中: -source 提供与指定版本的源兼容性 -target 生成特定 VM 版本的类文件
--release 为特定的 VM 版本编译。支持的目标:6、7、8、9、10、11
--release 可以将 -source 和 -target 绑定到同一版本吗?
解决方案
该--release
标志不仅设置源和目标版本,而且还使编译器使用与指定版本对应的 JDK 库的符号表,防止您意外使用编译 JDK 中存在但指定中不存在的 API版本。该--release
标志是后来添加的,在大多数情况下,应该取代--source
and的使用--target
。
推荐阅读
- php - 在 Laravel 中下载多个上传的文件
- javascript - 如何遍历可观察对象内的列表?
- unit-testing - Vue JS - 单元测试 - 未定义本地存储
- android - 如何使用 Youtube player API 同时播放 2 个 youtube 视频?
- javascript - 在javascript中解码url字符串给出空字符串
- python - 如何获取http请求的状态码?
- php - 将 php 包含在 html 中,首先在网站的错误位置加载
- laravel - laravel Asset() 函数在部署后崩溃
- javascript - Prettier 不在 vscode 上格式化角模板
- python - 如何在 Python 中访问子字典