Don't fail bloop if Java 11 installed in Mac OS #747
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 fix uses the godsend
/usr/libexec/java_home
to detect the javahome for 1.8 and use that one to run
coursier launch
(failing with ahelpful error message if it doesn't find it). The main idea here comes
from @olafurpg and some of the discussion of the bug
In reality, this means that the server must be run with Java 1.8 or it
will fail. This is a good compromise for now until we can ensure that
we are as efficient and correct in other Java versions as we're in Java
1.8. I've tested this in my machine where Java 8 is installed via jenv
(which doesn't set the java home variable directly) and Java 11 was
installed via homebrew casks. I believe this scenario stresses this fix
enough to make it valid.
For now, we only use this approach in Mac OS because libexec/java_home
only exist in OSX.
Fixes #743