Visual Studio代码 - Java类路径不完整.仅报告语法错误

rai*_*ner 23 java visual-studio-code

在使用python的一些丰富经验之后,我正在使用java开始我的第一步.我正在运行的脚本是一个简单的Java Swing Gui,它可以从命令行和VS Code中编译和运行.

为了设置java调试环境,我使用了github网站https://github.com/k--kato/vscode-javadebug上建议的lauch.json设置.

不幸的是,每次打开包含脚本的文件夹时,都会收到以下错误消息:

Warn: Classpath is incomplete. Only syntax errors will be reported.
Run Code Online (Sandbox Code Playgroud)

我不知道问题是否来自VS Code,如果它是一些其他配置问题,例如java设置....

我的工作平台是Linux Ubuntu,Gnome Shell.

有人可以帮忙吗?

这是脚本:

//file name = SimpleEx.java 

import java.awt.EventQueue;
import javax.swing.JFrame;

public class SimpleEx extends JFrame {

    public SimpleEx() {

        initUI();
    }

    private void initUI() {

        setTitle("Simple example");
        setSize(300, 200);
        setLocationRelativeTo(null);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
    }

    public static void main(String[] args) {

        EventQueue.invokeLater(() -> {
            SimpleEx ex = new SimpleEx();
            ex.setVisible(true);
        });
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我的launch.json:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Java",
            "type": "java",
            "request": "launch",
            "stopOnEntry": true,
            "cwd": "${fileDirname}",
            "startupClass": "${fileBasename}",
            "options": [
                "-classpath",
                "${fileDirname}"
            ]
        },
        {
            "name": "Java Console App",
            "type": "java",
            "request": "launch",
            "stopOnEntry": true,
            "cwd": "${fileDirname}",
            "startupClass": "${fileBasename}",
            "options": [
                 "-classpath",
                 "${fileDirname}"
            ],
            "externalConsole": true
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

小智 18

我知道这是一个古老的问题,但任何在这里遇到困难并需要快速简便修复的人都可以在这里找到它.安装扩展:Eclipse New Java Project.

它模拟Eclipse操作创建Java项目的行为,并应生成所需的结果.

只需按下Ctrl + Shift + P并键入New Java Project(它将在几个字母后弹出)并按照简单的指示操作.(它只是询问项目的名称).

它将创建所需的项目和文件,您不必担心该类路径错误.然后在src新项目的文件夹中正常创建类文件,继续编程!

  • 我按照以下步骤操作,但是它仅创建2个文件夹src和bin。 (2认同)

rai*_*ner 11

由于Microsoft Visual Studio Code生态系统正在快速发展为Java,因此有一个方便的解决方案可以帮助生成一个与VS Code一起使用的功能性Java项目结构 - 只需几步.

当然还有其他与Java一起使用的解决方案,比如NetBeans,但我一直很喜欢VS Code,只是等到更容易回来使用它.

我找到的非常简单的解决方案是使用MAVEN.Maven在您的主文件夹中创建整个项目结构和初始配置文件,您可以立即使用VS Code打开它并毫无困难地运行它.

当然,你将必须安装有Java扩展,为解释在这里.

我找到了解决办法在这里在网上有点过时了,所以我做了一些调整.

这是Linux机器上的过程:

  1. 检查您是否安装了MAVEN

  2. 调用maven quickstart原型来生成新项目;

  3. 使用新项目启动VS Code

  4. 配置Launch.json文件

    • 在调试器的左上角,在绿色的右侧,显示"无配置",从下拉字段中选择"Java",将自动生成.json文件.
  5. 配置Task.json

    • 转到菜单栏中的任务;
    • 配置任务......
    • 从模板创建task.json ....
    • 从下拉列表中选择"maven",将自动生成.json文件.

你已准备好出发.


小智 10

当您打开redhat.java扩展无法确定类路径的java文件时,会显示此警告.要获得扩展的全部好处,请使用带有maven pom.xml的项目(很快也是gradle),或者使用最少的默认eclipse设置文件,即.classpath .project文件.

  • 项目Wiki中提供了更详细的解释:https://github.com/redhat-developer/vscode-java/wiki/%22Classpath-is-incomplete%22-warning (2认同)

abd*_*004 9

VS Code 中,只需右键单击 src 文件夹并选择“将文件夹添加到 Java 源路径”选项。如果它不起作用,那么首先尝试通过选择“从 Java 源路径中删除文件夹”来删除它(这不会导致任何数据丢失),然后再次添加它。

完成后重新启动一次。希望对你有效。

在此处输入图片说明

  • 这个简单的技巧对我有用!点赞让更多人看到 (2认同)

Ani*_*Ani 9

我在Cannot resolve the modulepaths/classpaths automatically, please specify the value in the launch.json编译过程中遇到了这个错误。

我所要做的就是打开Command PaletteinView或 withCtrl+Shift+P然后运行命令Clean Java Server Language Workspace,一切又开始正常工作。

在此输入图像描述


小智 5

搜索此,我发现vscode现在只能识别Maven项目或Eclipse项目,因此它需要一个.classpath文件。因此,最好的选择是先使用maven创建项目,然后使用vscode打开。

  • 谢谢大家,您的建议。现在就使用InteliJ,即可直接使用,而不必费力配置。 (5认同)