in src/Controller.ts [118:145]
public async openBootApp(app: BootApp): Promise<void> {
let jvm = await findJvm();
if (!jvm) {
throw new Error("Couldn't find a JVM to run Java code");
}
let jmxport = app.jmxPort;
if (jmxport) {
let jmxurl = `service:jmx:rmi:///jndi/rmi://localhost:${jmxport}/jmxrmi`;
if (jvm) {
let javaProcess = jvm.jarLaunch(
path.resolve(this._context.extensionPath, "lib", "java-extension.jar"),
[
"-Djmxurl=" + jmxurl
]
);
let port = javaProcess.stdout ? parseInt(await readAll(javaProcess.stdout)) : 0;
if (port > 0) {
vscode.commands.executeCommand("vscode.open", vscode.Uri.parse(`http://localhost:${port}/`));
} else {
if (javaProcess.stderr) {
let err = await readAll(javaProcess.stderr);
console.log(err);
}
vscode.window.showErrorMessage("Couldn't determine port app is running on");
}
}
}
}