首页 > 解决方案 > 如何在 VS Code 中调试 Maven 项目?

问题描述

我正在使用 VS Code 使用 Maven 构建插件编写 Java。经过大量摆弄配置后一切正常,除了调试。调试配置如下所示:

// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
    {
        "type": "java",
        "name": "Debug (Launch) - Current File",
        "request": "launch",
        "mainClass": "${file}"
    },
    {
        "type": "java",
        "name": "Debug (Launch)-App<music-03>",
        "request": "launch",
        "mainClass": "ptcs.App",
        "projectName": "music-03"
    }

当我使用第二个配置启动调试器时,调试我的项目应用程序(不启动当前文件),我收到一个错误:

~/Sync/projects/music/music-03:cd /Users/Mike/Sync/projects/music/music-03 ; /Library
/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home/bin/java 
-agentlib:jdwp=transport=dt_socket,server=n,suspend=y,address=localhost:58363 
-Dfile.encoding=UTF-8 @/var/folders/pn/3p41p2fj14d50n707c7x2p4c0000gn
/T/cp_90sfb6m3zinsbhwyvyknqb5hv.argfile ptcs.App 

Error: Could not find or load main class
@.var.folders.pn.3p41p2fj14d50n707c7x2p4c0000gn.T.cp_90sfb6m3zinsbhwyvyknqb5hv.argfile

请注意,我可以毫无问题地运行 maven 编译和打包目标,我什至可以生成一个带有依赖项的可执行 jar。我的 pom.xml 在这里复制有点长,但是如果有人可以给我一个提示,我应该从中发布什么,我会这样做。

标签: javamavenvisual-studio-code

解决方案


我最终想通了。命令行中的 @ 符号仅适用于 Java 1.9 及更高版本,Java 调试器插件错误地将其放入其命令行。

一种解决方案是将项目更新为更高版本的 Java。另一种解决方案是添加shortenCommandLine : jarManifest到launch.json。第三种可能性是将 $JAVA_HOME 指向您的 JDK 位置并重新启动 VS Code。


推荐阅读