Skip to content

Commit d71b70b

Browse files
committed
More robust method to check for JDK
1 parent a742fc9 commit d71b70b

File tree

3 files changed

+252
-4
lines changed

3 files changed

+252
-4
lines changed

Diff for: nodejs-packages/jvm-launch-utils/package-lock.json

+247-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: nodejs-packages/jvm-launch-utils/package.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@pivotal-tools/jvm-launch-utils",
3-
"version": "0.0.17",
3+
"version": "0.0.18",
44
"description": "Provides utilities useful for launching Java processes from node packages.",
55
"files": [
66
"src",
@@ -29,6 +29,7 @@
2929
"homepage": "https://github.com/spring-projects/sts4/nodejs-packages/jvm-launch-utils/README.md",
3030
"devDependencies": {
3131
"@types/node": "^16.6.0",
32+
"ts-node": "^10.4.0",
3233
"typescript": "^4.2.4"
3334
}
3435
}

Diff for: nodejs-packages/jvm-launch-utils/src/jvm-util.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,9 @@ class JVMImpl implements JVM {
181181
return this.javaExe;
182182
}
183183
isJdk(): boolean {
184-
return FS.existsSync(Path.resolve(this.getJavaHome(), "jmods", "jdk.management.jmod"));
184+
const javaExecutable = this.getJavaExecutable();
185+
const str = ChildProcess.execSync(javaExecutable + ' --list-modules', {windowsHide: true, encoding: 'utf8'});
186+
return str.search(/^jdk.management@.*$/m) >= 0;
185187
}
186188
jarLaunch(jar: string, vmargs?: [string], execFileOptions?: ChildProcess.ExecFileOptions): ChildProcess.ChildProcess {
187189
let args = [];

0 commit comments

Comments
 (0)