Fix process watcher path detection #1427
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request enhances the logic for determining the Java Runtime Environment (JRE) home in the
ProcessWatcherclass, prioritizing user-configured settings and improving fallback mechanisms. It also introduces a utility method to validate JDK paths. Below are the key changes:Improvements to JRE home detection:
java.jdt.ls.java.homesetting if explicitly configured by the user. If the configured path is invalid, a warning is logged, and fallback options are considered. (src/daemon/processWatcher.ts, src/daemon/processWatcher.tsL37-R74)java.configuration.runtimessetting for a default runtime or the first available runtime if no default is set. (src/daemon/processWatcher.ts, src/daemon/processWatcher.tsL37-R74)src/daemon/processWatcher.ts, [1] [2]Utility method for JDK path validation:
isValidJpsPathto check if a given JDK path is valid by verifying its existence and the presence of thejpstool in thebindirectory. (src/daemon/processWatcher.ts, src/daemon/processWatcher.tsR137-R151)