如何在 Visual Studio Code + java 上调试 Play Framework 1.x 应用程序

Posted

技术标签:

【中文标题】如何在 Visual Studio Code + java 上调试 Play Framework 1.x 应用程序【英文标题】:How do I debug play Framework 1.x applications on Visual Studio Code + java 【发布时间】:2019-04-01 18:31:12 【问题描述】:

正如标题所说,我很难弄清楚如何做到这一点。

我在这部分阅读了文档:

https://www.playframework.com/documentation/1.4.x/ide#custom

不成功。仍然没有调试。我可以通过控制台运行它并使用 VSCODE 编辑代码。

edit 1: 在 Eclipse 中我使用以下文件来运行/调试:

<?xml version="1.0" encoding="UTF-8"?>
<launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication">
    <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
        <listEntry value="/cashup-starter" />
    </listAttribute>
    <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
        <listEntry value="4" />
    </listAttribute>
    <booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true" />
    <listAttribute key="org.eclipse.debug.ui.favoriteGroups">
        <listEntry value="org.eclipse.debug.ui.launchGroup.run" />
    </listAttribute>
    <listAttribute key="org.eclipse.jdt.launching.CLASSPATH">
        <listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#xA;&lt;runtimeClasspathEntry containerPath=&quot;org.eclipse.jdt.launching.JRE_CONTAINER&quot; javaProject=&quot;cashup-starter&quot; path=&quot;1&quot; type=&quot;4&quot;/&gt;&#xA;" />
        <listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#xA;&lt;runtimeClasspathEntry internalArchive=&quot;/cashup-starter/conf&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#xA;" />
        <listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#xA;&lt;runtimeClasspathEntry id=&quot;org.eclipse.jdt.launching.classpathentry.defaultClasspath&quot;&gt;&#xA;&lt;memento exportedEntriesOnly=&quot;false&quot; project=&quot;cashup-starter&quot;/&gt;&#xA;&lt;/runtimeClasspathEntry&gt;&#xA;" />
    </listAttribute>
    <booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="false" />
    <stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="play.server.Server" />
    <stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="cashup-starter" />
    <stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value=" -noverify -Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n -Dplay.debug=yes -Dplay.id= -Dapplication.path=&quot;$project_loc:cashup-starter&quot; -Djava.endorsed.dirs=&quot;F:\dev\play-1.5.1/framework/endorsed&quot; -javaagent:&quot;F:\dev\play-1.5.1/framework/play-1.5.1.jar&quot;" />
</launchConfiguration>

在 Visual Studio 代码中,我有这个启动文件:


    // 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)-Tup<custom-extincentro>",
            "request": "launch",
            "mainClass": "jobs.Tup",
            "projectName": "custom-extincentro"
        
    ]

【问题讨论】:

您是否安装了 Debugger for Java 扩展? @LeoZhu-MSFT 是的,我已经安装了 Visual Studio 代码文档推荐的所有 java 包 它会抛出任何错误吗?比如“构建失败,你想继续吗?” 是的,我得到: "resource": "/F:/dev/gitrepos/cashup-starter/eclipse/", "owner": "_generated_diagnostic_collection_name_#0", "code": " 964”,“严重性”:8,“消息”:“项目 '%PROJECT_NAME%' 缺少所需的源文件夹:'app'”,“源”:“Java”,“startLineNumber”:1,“startColumn”:1 , "endLineNumber": 1, "endColumn": 1 但我有一个应用文件夹 【参考方案1】:

@ikk1 你试过下面的launch.json配置了吗?

        
            "type": "java",
            "name": "Debug (Launch)",
            "request": "launch",
            "mainClass": "play.server.Server",
            "projectName": "cashup-starter"
        

【讨论】:

你真棒金博。像魅力一样工作!

以上是关于如何在 Visual Studio Code + java 上调试 Play Framework 1.x 应用程序的主要内容,如果未能解决你的问题,请参考以下文章

visual studio code如何运行c

Deepin系统中如何安装Visual Studio Code

如何在 Linux 中安装 Visual Studio Code

如何在 Visual Studio Code 中自动获取参数名称?

如何在 Visual Studio Code 中注释多行?

如何在 Visual Studio Code 中隐藏缩进指南?