JaCoLine has a JSON/REST API for integration with your build system.
API Endpoint
https://jacoline.dev/json/inspect
{
"jvm": "OpenJDK8",
"os": "Linux",
"arch": "x86",
"command": "/usr/bin/java ‑Xmx8g ‑XX:+UseG1GC -XX:+KABOOM com.chrisnewland.someproject.SomeApplication",
"debugJVM":false
}
{
"errorMessage": "OK",
"switchesIdentified": [
{
"keyValue": {
"prefix": "-X",
"key": "mx",
"value": "8g",
"keyWithPrefix": "-Xmx"
},
"switchStatus": "OK",
"analysis": "OK",
"type": "",
"description": "set maximum Java heap size",
"defaultValue": ""
},
{
"keyValue": {
"prefix": "-XX:",
"key": "UseG1GC",
"value": "true",
"keyWithPrefix": "-XX:UseG1GC"
},
"switchStatus": "OK",
"analysis": "OK",
"type": "bool",
"description": "Use the Garbage-First garbage collector",
"defaultValue": "false"
},
{
"keyValue": {
"prefix": "-XX:",
"key": "KABOOM",
"value": "true",
"keyWithPrefix": "-XX:KABOOM"
},
"switchStatus": "ERROR",
"analysis": "Switch not found in any JDK",
"type": "",
"description": "",
"defaultValue": ""
}
],
"request": {
"command": "/usr/bin/java -Xmx8g -XX:+UseG1GC -XX:+KABOOM com.chrisnewland.someproject.SomeApplication",
"jvm": "JDK8",
"os": "Linux",
"arch": "x86",
"debugJVM": false
}
}