Skip to content

Commit 29db241

Browse files
committed
Use redhat java extension embedded JDK to laucnh LS
1 parent d71b70b commit 29db241

File tree

3 files changed

+24
-8
lines changed

3 files changed

+24
-8
lines changed

vscode-extensions/commons-vscode/package-lock.json

Lines changed: 7 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vscode-extensions/commons-vscode/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
"prepack": "tsc -p ./"
2525
},
2626
"dependencies": {
27-
"@pivotal-tools/jvm-launch-utils": "0.0.17",
27+
"@pivotal-tools/jvm-launch-utils": "0.0.18",
2828
"deep-equal": "^2.0.5",
2929
"portfinder": "^1.0.28"
3030
},

vscode-extensions/commons-vscode/src/launch-util.ts

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,21 @@ function getJdtUserDefinedJavaHome(log: VSCode.OutputChannel): string {
108108
return javaHome;
109109
}
110110

111+
function findJdtEmbeddedJRE(): string | undefined{
112+
const javaExtension = VSCode.extensions.getExtension('redhat.java');
113+
if (javaExtension) {
114+
const jreHome = Path.resolve(javaExtension.extensionPath, 'jre');
115+
if (FS.existsSync(jreHome) && FS.statSync(jreHome).isDirectory()) {
116+
const candidates = FS.readdirSync(jreHome);
117+
for (const candidate of candidates) {
118+
if (FS.existsSync(Path.join(jreHome, candidate, "bin"))) {
119+
return Path.join(jreHome, candidate);
120+
}
121+
}
122+
}
123+
}
124+
}
125+
111126
export function activate(options: ActivatorOptions, context: VSCode.ExtensionContext): Thenable<LanguageClient> {
112127
if (options.CONNECT_TO_LS) {
113128
return VSCode.window.showInformationMessage("Start language server")
@@ -123,6 +138,7 @@ export function activate(options: ActivatorOptions, context: VSCode.ExtensionCon
123138
let findJRE = options.preferJdk ? findJdk : findJvm;
124139

125140
return findJRE(getSpringUserDefinedJavaHome(options.workspaceOptions, clientOptions.outputChannel)
141+
|| findJdtEmbeddedJRE()
126142
|| getJdtUserDefinedJavaHome(clientOptions.outputChannel),
127143
msg => clientOptions.outputChannel.appendLine(msg))
128144
.catch(error => {

0 commit comments

Comments
 (0)