将当前项目添加到 vscode launch.json "classpaths" 字段

Add current project to vscode launch.json "classpaths" field

我正在尝试调试 vscode 中的 Java 项目。我添加了一个 launch.json 文件,如下所示:

  "configurations": [
    {
      "type": "java",
      "name": "Debug with args",
      "args": "--args_for_app",
      "classPaths": ["$HOME/bin/some.jar", "$HOME/bin/some_other.jar"],
      "env": {
        "env1": "env1value"
      },
      "request": "launch",
      "mainClass": "my.main.ClassName",
      "projectName": "projectName",
      "console": "internalConsole"
    }
  ]

如果我去掉classPaths字段,vscode会自动将当前项目解析到class路径下,调试器启动成功,但我还需要添加其他jar文件进入 class 路径。如果我用我想要的 jar 路径添加字段,vscode 不再自动解析项目的路径(这是有道理的),但现在我不知道如何将它添加回列表。

我尝试添加 ".""${file}""${workspace}"、none。我仍然收到一条错误消息,提示无法找到主要 class:

Error: Could not find or load main class my.main.ClassName
Caused by: java.lang.ClassNotFoundException: my.main.ClassName

所以主要的问题是添加jar作为依赖,对吧?请查看官方文档: https://code.visualstudio.com/docs/java/java-project#_standalone-java-file-support

添加了指定 jar 文件为库的功能。


这是编辑,我们可以执行以下操作以在 VSCode 中添加 jars/lib:

  1. 将您的 .jar 文件添加到项目根目录中的 ./lib

  2. 在 .classpath 中配置路径以指向您的 jars,例如:

<classpathentry kind="lib" path="lib/my.jar"/>
  1. 如果没有拾取 jar,请清理工作区目录。您可以通过 运行 和 "Clean the Java language server workspace" 命令来完成此操作。您还可以手动清理工作区目录:

VS Code 用户工作区存储区可以在这些位置找到:

Windows:%APPDATA%\代码[-变体]\User\workspaceStorage\

MacOS:$HOME/Library/Application Support/Code[ - 变体]/User/workspaceStorage/

Linux : $HOME/.config/Code[ - 变体]/User/workspaceStorage/ 可以参考添加jar