-
Notifications
You must be signed in to change notification settings - Fork 401
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
JDTLanguageServer cannot run well without IApplication #2311
Comments
This tweak has unblocked me: mickaelistria@0f7b0aa ; but I think a better place where to store such processId would actually be the JDTLanguageServer instance (as we can now see other startup are possible, and maybe even imagine the plugin serving multiplt JDTLanguageServer at the same time).. |
Remove an execution path that only works if IApplication is running; so JDT-LS can be used in different deployments. Part of eclipse-jdtls#2311
I think this makes sense. If a client wants to have their own "Application" to handle the JDT-LS startup, then that's valid, and we should support them. |
Remove an execution path that only works if IApplication is running; so JDT-LS can be used in different deployments. Part of eclipse-jdtls#2311
Remove an execution path that only works if IApplication is running; so JDT-LS can be used in different deployments. Part of eclipse-jdtls#2311
Remove an execution path that only works if IApplication is running; so JDT-LS can be used in different deployments. Part of #2311
While trying to run the language server via code (in a Java process, as part of an Eclipse IDE plugin), it looks like the only vaid entry-point is the
LanguageServer implements IApplication
. However, this one does force to use some streams accoridng to application execution context.If one tries to bypass it, directly calling the JDTLanguageServer, there are some issues later on as the execution flow of the language server goes through the JavaLanguageServerPlugin to access some fields, which are only set (and settable) from the LanguageServer/IApplication; so another client cannot set those fields.
The JavaLanguageServerPlugin should allow to have those fields set, or JDT-LS should provide a dedicated launcher that would allow to use any stream (typically some java.nio.channels.Pipe ) and that would set up all the necessary state.
Here is the error I get
The text was updated successfully, but these errors were encountered: