Java 如何创建vs代码任务以在tomcat扩展上部署WAR文件?
我正在从Eclipse迁移到VS代码,并尝试快速完成部署过程。我想创建一个vs代码任务来部署WAR文件。 我正在使用命令adashen.vscode-tomcat:tomcat.war.run,但它不起作用 我正在使用Tomcat进行Visual Studio代码扩展v.0.11.1 My tasks.json如下所示:Java 如何创建vs代码任务以在tomcat扩展上部署WAR文件?,java,tomcat,visual-studio-code,Java,Tomcat,Visual Studio Code,我正在从Eclipse迁移到VS代码,并尝试快速完成部署过程。我想创建一个vs代码任务来部署WAR文件。 我正在使用命令adashen.vscode-tomcat:tomcat.war.run,但它不起作用 我正在使用Tomcat进行Visual Studio代码扩展v.0.11.1 My tasks.json如下所示: { // See https://go.microsoft.com/fwlink/?LinkId=733558 // for the documentation
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "Build",
"type": "shell",
"command": "gradlew clean build",
"group": {
"kind": "build",
"isDefault": true
}
},
{
"label": "Deploy",
"type": "shell",
"command": "adashen.vscode-tomcat:tomcat.war.run",
"args": ["${workspaceFolder}\\build\\libs\\SMEWeb-0.0.1-SNAPSHOT.war"]
}
]
}
执行获取以下错误后:
正在执行文件夹SMEWeb:adashen.vscode tomcat:tomcat.war.run中的任务
C:\WorkspaceGit\sme\SMEWeb\build\libs\SMEWeb-0.0.1-SNAPSHOT.war它可能看起来像这样
{
"label": "Run",
"command": "${command:tomcat.war.run}",
"problemMatcher": []
}
在对自己的用途进行了大量搜索之后,我从这里获得了帮助:
我还没有找到一种方法来提供.war文件作为参数,它是有效的
虽然tasks.json可以调用,但我认为主要的问题是扩展不支持这样做。也许功能请求已经就绪。在阅读之后,我认为如果该方法将文件路径作为字符串接受,或者如果您设法将“vscode.Uri”对象作为参数传递给“tomcat.war.run”命令,则该方法可能会起作用
这是我在整个过程中所能想到的最好方法,但您仍必须在每次运行此任务时手动选择.war:
{
"version": "2.0.0",
"tasks": [
{
"label": "compile",
"type": "shell",
"command": "mvn compile",
"problemMatcher": []
},
{
"label": "package",
"type": "shell",
"command": "mvn package",
"dependsOn": ["compile"],
"problemMatcher": []
},
{
"label": "Run WAR",
"command": "${input:runWar}",
"dependsOn": ["package"],
"problemMatcher": []
}
],
"inputs": [
{
"id": "runWar",
"type": "command",
"command": "tomcat.war.run"
// ,"args": { DOESNT WORK =/
// "uri" : {"fsPath" : "${workspaceFolder}/target/ROOT.war"}
// }
}
]
}
如果您不使用任务,您可以成功部署吗?是的,我必须转到生成的WAR文件,右键单击并“在Tomcat服务器上运行”。您是否尝试将
cd
添加到生成的WAR文件中,然后在任务命令中删除.WAR?是的,它不起作用。即使是在没有参数的情况下启动tomcat的简单命令(“命令”:“adashen.vscode tomcat:tomcat.server.start”)也会返回相同的错误。同意,实际上我放弃了VS代码来做后端工作,返回Eclipse。我返回Netbeans进行代码热交换、调试并部署到tomcat。现在是2021年,VSCode的tomcat扩展还没有实现。