从 vscode 导出 jar 文件,jar 文件打不开

Exporting jar file from vscode, The jar file does not open

如果我从 IntelliJ 导出一个文件 jar 并打开它工作正常但如果在 vscode 中执行此操作后导出文件没有错误我无法打开文件我点击 jar 文件但什么也没有发生了,我从 IntelliJ 中提取了两个文件 jar 和 vscode 一个(查看侧 jar 文件中的文件)都有相同的文件和相同的 MANIFEST.MF 文件所以为什么 IntelliJ 工作但是vscode 一个没有?

备注:

  1. java -version: "17.0.1" and javac -version: 17.0.1 (版本没问题).

  2. 如果我尝试用终端打开 jar 文件而不是通过单击我得到这个错误:

     "Error: LinkageError occurred while loading main class App
     java.lang.UnsupportedClassVersionError: Preview features are not enabled 
     for App (class file version 61.65535). Try running with '--enable-preview'"
    

默认启用预览功能。在 User Settings.json 中配置 java.configuration.runtimes 首选项:

"java.configuration.runtimes": [
  {
    "name": "JavaSE-17",
    "path": "/path/to/jdk-17",
    "default": true
  },
],

然后重新加载 window 并重试。

参考: Enabling Java preview features

我发现的最佳方法是创建一个 .bat 文件并在其中写入以下代码: java --enable-preview -jar <filename>.jar 现在您可以通过 运行 生成的 .bat 文件

来 运行 .jar 文件

据我所知,当前版本的 Java 语言支持在使用 Java 17 编译时不会添加 --enable-preview 参数,它会在您使用Java18,能不能再提供点信息,比如

  • Java
  • 的语言支持版本
  • 传递给编译器的参数(如果您只是手动编译项目)