首页 > 解决方案 > 为什么 VSCode 一直打开 *.class 文件而不是 .java 文件?

问题描述

(我不知道如何将我的屏幕截图上传到 stackoverflow。所以这是一个可流式链接:https ://streamable.com/0im8tx )

在此视频中,当我 cmd 单击进入时,VSCode 打开 QueriesController.class 而不是 QueriesController.java QueriesController

我已经编译提供了工作区中 jar 文件的定义:

    "settings": {
        "java.project.referencedLibraries": {
            "include": [
                "<path-to-jar-that-contains-QueriesController.jar>",
.... 
            "sources": {
                "<path-to-jar-that-contains-QueriesController.jar>": "/my/local/java/definition/src/folder",

有谁知道为什么 VSCode 选择将定义打开为 .class 文件而不是 .java 文件?

标签: javavisual-studio-code

解决方案


我使用命令生成一个简单的 jar 包,并在另一个项目中使用它。确实,当我们单击类名时,.class打开的是文件而不是.java文件:

在此处输入图像描述

关于如何生成可执行jar包,可以看看这个回复

  1. 编译.java文件并生成.class;

  2. 生成清单并将它们打包到jar中

一般来说,JAR(Java ARchive)是一种包文件格式,通常用于将许多 Javaclass files和相关metadata的和resources(文本、图像等)聚合到一个文件中以进行分发。

.java 文件不包含在 jar 包中,这就是您打开 .class 文件而不是 .java 文件的原因。


推荐阅读