为了账号安全,请及时绑定邮箱和手机立即绑定

如何创建 vs-code 任务以在 tomcat 扩展上部署 WAR 文件?

如何创建 vs-code 任务以在 tomcat 扩展上部署 WAR 文件?

慕容708150 2023-03-02 15:55:12
我正在从 Eclipse 迁移到 VS-Code,我正试图快速完成部署过程。我想创建一个 vs-code 任务来部署 WAR 文件。我正在使用命令adashen.vscode-tomcat:tomcat.war.run但它似乎不起作用。我正在使用 Tomcat for Visual Studio Code 扩展 v.0.11.1。我的 tasks.json 看起来像这样:{    // 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 <文件名、目录名或卷标语法不正确。终端进程命令 'C:\Windows\system32\cmd.exe /d /c adashen.vscode-tomcat:tomcat.war.run C:\WorkspaceGit\sme\SMEWeb\build\libs\SMEWeb-0.0.1-SNAPSHOT .war' 启动失败(退出代码:1)终端将被任务重用,按任意键关闭它。有人有线索吗?谢谢
查看完整描述

3 回答

?
慕慕森

TA贡献1856条经验 获得超17个赞

阅读源代码后,我认为如果该方法接受文件路径作为字符串或者如果您设法将“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"}

//          }

        }

    ]

}


查看完整回答
反对 回复 2023-03-02
?
Helenr

TA贡献1780条经验 获得超4个赞

它可能看起来像这样。


    {

        "label": "Run",

        "command": "${command:tomcat.war.run}",

        "problemMatcher": []

    }

经过大量搜索我自己的用途后,我从这里得到了帮助:https ://stackoverflow.com/a/57470981/4588923


我还没有找到一种方法来提供 .war 文件作为参数并且它有效。


虽然调用来自 tasks.json,但我认为主要问题是扩展不支持这样做。也许功能请求是有序的。


查看完整回答
反对 回复 2023-03-02
?
鸿蒙传说

TA贡献1865条经验 获得超7个赞

RedHat 开发了一个 VSCode 扩展,有助于在 VSCode 中配置和部署 tomcat 服务器。似乎比我尝试过的其他人要好得多。



查看完整回答
反对 回复 2023-03-02
  • 3 回答
  • 0 关注
  • 205 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号