如何通过命令行运行VSCode中launch.json的SpringMVC项目配置
命令行运行Maven SpringMVC项目(匹配VSCode Launch配置)
你可以直接用Maven的exec-maven-plugin插件,把VSCode launch.json里的配置转换成命令行参数执行,不需要依赖VSCode。
直接命令行执行
在项目根目录(包含pom.xml的文件夹)运行以下命令,完全匹配你VSCode里的配置:
mvn exec:java -Dexec.mainClass="au.com.demoApp.spring.MyDemoApp" -Dexec.vmArgs="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8099 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.rmi.port=8099 -Djava.rmi.server.hostname=127.0.0.1 -Dspring.profiles.active=local -Dspring.security.jwt.tokenExpTime=1440 -Dspring.security.jwt.refreshTokenExpTime=2160 -DdemoApp.root.dir=/Users/admin/Desktop/myApp/demoApp-test-data"
多模块项目适配
如果myDemoApp是多模块项目里的子模块,需要加上-pl参数指定模块:
mvn exec:java -pl myDemoApp -Dexec.mainClass="au.com.demoApp.spring.MyDemoApp" -Dexec.vmArgs="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8099 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.rmi.port=8099 -Djava.rmi.server.hostname=127.0.0.1 -Dspring.profiles.active=local -Dspring.security.jwt.tokenExpTime=1440 -Dspring.security.jwt.refreshTokenExpTime=2160 -DdemoApp.root.dir=/Users/admin/Desktop/myApp/demoApp-test-data"
简化配置(写入pom.xml)
如果不想每次都输入长命令,可以把配置写到项目的pom.xml里,以后运行更方便:
在pom.xml的<build><plugins>节点下添加以下插件配置:
<plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <version>3.1.0</version> <configuration> <mainClass>au.com.demoApp.spring.MyDemoApp</mainClass> <vmArgs> -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8099 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.rmi.port=8099 -Djava.rmi.server.hostname=127.0.0.1 -Dspring.profiles.active=local -Dspring.security.jwt.tokenExpTime=1440 -Dspring.security.jwt.refreshTokenExpTime=2160 -DdemoApp.root.dir=/Users/admin/Desktop/myApp/demoApp-test-data </vmArgs> </configuration> </plugin>
之后运行项目只需要执行:
# 单模块项目 mvn exec:java # 多模块项目(指定子模块) mvn exec:java -pl myDemoApp
以上命令的运行效果和你在VSCode里点击调试按钮完全一致,且不需要保持VSCode处于开启状态。
内容的提问来源于stack exchange,提问作者paul
相关产品推荐
相关产品推荐

