VS CodeでJavaアプリを開発していて困ったのでメモ。
[vmArgs多すぎ問題]
こんな感じで、JavaのVM引数(vmArgs)の起動設定をlaunch.jsonに書いていた。
{
"version": "0.2.0",
"configurations": [
{
"type": "java",
"name": "Launch App (single line)",
"request": "launch",
"mainClass": "com.kdnakt.simple.App",
"vmArgs": "-Dfoo=hoge1 -Dbar=fuga1",
"projectName": "simple-project"
}
]
}
しかし、VM引数の数が増えてきたので、横に長くなり、画面に収まらないという問題が発生した。
[vmArgsを配列で設定する]
vscode java launch.json vmargsとかでググってたら、このissueに辿り着いた。
vmArgsを配列で設定していたのが動かなくなった、というissueらしい。修正されているようなので、普通に真似して配列にすれば動きそう。
以下のように修正して試したら問題なく動作した。
{
"version": "0.2.0",
"configurations": [
{
"type": "java",
"name": "Launch App (array)",
"request": "launch",
"mainClass": "com.kdnakt.simple.App",
"vmArgs": [
"-Dfoo=hoge2",
"-Dbar=fuga2",
],
"projectName": "simple-project"
}
]
}
そして、よく見たらちゃんと公式にも書いてある。
vmArgs - The extra options and system properties for the JVM (for example -Xms<size> -Xmx<size> -D<name>=<value>), it accepts a string or an array of string.
(強調は筆者)
だってVS Code上の説明では出てこなかったんだもん...(言い訳)。公式サイトと同じ説明を表示して欲しい。いつか余裕があったらプルリクエストを出しておこう...。
