问题描述
我有一个没有main方法的代码。使用以下命令执行了该项目:
$mvn clean install -Dparam1="folder" -Dparam2="path"
在Eclipse或IntelliJ中,我只需要创建一个maven执行程序,将goas定义为clean install
,然后使用-Dparam
格式传递maven参数即可。
在VSCode中,我看到了3种不同的方法并进行了以下实验:
- 在
lunch.json
中创建一个mvn
文件,调用命令mvnDebug
或preLaunchTask
。
{
"version": "0.2.0","configurations": [
{
"type": "java","request": "launch",...
"preLaunchTask": "mvnDebug","vmArgs": [ "clean","install","-Dparam1=\"blabla\"","-Dparam2=\"blablabla\"" ]
}
]
}
我还测试了在preLaunchTask
中传递所有命令而没有vmArgs
的情况。而且没有用。
- 创建一个传递脚本的
task.json
文件和一个launch.json
文件,该文件将在preLaunchTask
中调用以{{1的参数taskName
中定义的名称创建的任务}}。
task.json
还有{
"version": "0.2.0","configurations": [
{
"type": "java","preLaunchTask": "Debug","name": "Launch Program","sourceMaps": true
}
]
:
tasks.json
- 我尝试过的第三种方法是使用
{ "version": "2.0.0","tasks": [ { "label": "Debug","type": "java","script": "mvnDebug clean install -Dparam1=\"folderName\" -Dparam2=\"blablabla\"","problemMatcher": [] } ] }
:
settings.json
对于所有人,我都在终端中收到了消息:
{
"maven.terminal.favorites": [
{
"alias": "CLEAN COMPILE","command": "clean install -Dparam1=\"value\" -Dparam2=\"blabla\"","debug": true
},]
}
伙计们,我需要您提供的是
- 此消息是什么意思?
- 为什么要等待端口?
- VSCode如何使用套接字来实现?
- 什么是最好的方法?为什么?
- 最重要的一个:如何使用VSCode在没有主要功能代码的情况下运行参数化的JAVA MAVEN?
观察:我的JAVA版本是JDK11,但是我也尝试过使用JDK 8。
非常感谢您。
解决方法
1。在launch.json
中,属性vmArgs
为
JVM的其他选项和系统属性(例如 -Xms -Xmx -D =),它接受一个字符串或字符串数组。 debugging-launch
因此它不适用于您的应用程序。
2。在tasks.json
中,属性command
用于命令执行;
3。建议使用设置maven.executable.options
,它为所有mvn命令指定默认选项。