java - 通过 Visual Studio Code 导出 JAR 时按项目指定 java 版本
问题描述
我已经在VSCode的设置中成功配置了java.configuration.runtimes,以便指定我要使用什么版本的Java来编译项目,并且可以成功导出编译好的JAR。我需要知道的是,如果我有多个项目要使用不同版本的 Java 导出,这是一个选项吗?
看来 java.configuration.runtimes 设置是在 IDE 级别,而不是在项目级别。
解决方案
是的,您可以通过设置将项目导出为 jar 时指定 java 版本:
"java.configuration.runtimes": [
{
"name": "JavaSE-11",
"path": "/path/to/jdk11",
},
{
"name": "JavaSE-14",
"path": "/path/to/jdk-14",
"default": true
},
]
设置default:true的位置将决定编译项目时的 java 版本。
可以看到java扩展确实是用jdk14编译的.java文件,翻到黄色下划线的目录,有一个.class文件。
使用命令:
javap -verbose .class
会显示很多信息,major version的值也代表java版本:
JDK11的主版本是55,JDK14的主版本是58,所以设置确实有效。您可以在用户设置中添加它,然后将项目导出为具有不同 java 版本的 jar。
推荐阅读
- video-streaming - 直播与 VOD 的 CDN 价格
- python - 为什么使用 Django REST Framework 处理超过 1024 个字符的 POST 请求会变慢?
- swift - 快速映射嵌套的 JSON 领域对象
- rest - 可以在 Hyperledger 中保护 Rest api 和 CouchDB 之间的交互
- swift - 斯威夫特:如何让位置音频更真实地进行声音定位?
- scala - 如何在scala spark CountVectorizer()中获取词汇表->计数?
- c++ - C++ 二维数组在大小可变时起作用
- spring - 使用 Spring Framework 以编程方式注册 Spring 组件
- spring-boot - Java 单元测试给出 NullPointer 异常
- javascript - 在反应中使用扩展运算符进行redux?数组映射问题?