如何在 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="<?xml version="1.0" encoding="UTF-8"?>
<runtimeClasspathEntry containerPath="org.eclipse.jdt.launching.JRE_CONTAINER" javaProject="cashup-starter" path="1" type="4"/>
" />
<listEntry value="<?xml version="1.0" encoding="UTF-8"?>
<runtimeClasspathEntry internalArchive="/cashup-starter/conf" path="3" type="2"/>
" />
<listEntry value="<?xml version="1.0" encoding="UTF-8"?>
<runtimeClasspathEntry id="org.eclipse.jdt.launching.classpathentry.defaultClasspath">
<memento exportedEntriesOnly="false" project="cashup-starter"/>
</runtimeClasspathEntry>
" />
</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="$project_loc:cashup-starter" -Djava.endorsed.dirs="F:\dev\play-1.5.1/framework/endorsed" -javaagent:"F:\dev\play-1.5.1/framework/play-1.5.1.jar"" />
</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 应用程序的主要内容,如果未能解决你的问题,请参考以下文章
Deepin系统中如何安装Visual Studio Code
如何在 Linux 中安装 Visual Studio Code