Skip to content
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

How to develop against a different Java version than the one in the Java tooling sidecar #13250

Closed
tsmaeder opened this issue Apr 26, 2019 · 11 comments
Assignees
Labels
kind/task Internal things, technical debt, and to-do tasks to be performed. lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale.

Comments

@tsmaeder
Copy link
Contributor

We include a jdk in the sidecar containin the Java tooling. How do we develop against a differen version of Java? Where do we pick up JDK sources when debugging, for example?

@tolusha tolusha self-assigned this May 6, 2019
@tolusha
Copy link
Contributor

tolusha commented May 11, 2019

Where do we pick up JDK sources when debugging, for example?

JDK sources are always picked up from sidecar container even if process is run in another container.

@tolusha tolusha added kind/task Internal things, technical debt, and to-do tasks to be performed. team/languages labels May 13, 2019
@tolusha
Copy link
Contributor

tolusha commented May 13, 2019

Language Server, Debugger use Java from sidecar container. Actually java from tooling sidecar isn't used except for compiling and running applications.

@tolusha
Copy link
Contributor

tolusha commented May 13, 2019

So, here we need a command in terms of Theia to install another version of java and use it for LS.

@tsmaeder
Copy link
Contributor Author

  1. We don't have root, so "install" can only mean unzip somewhere
  2. Where would we install the JDK's in order to keep them between restarts?
  3. How do we tell the LS and debugger to use that JDK?

@l0rd
Copy link
Contributor

l0rd commented Jun 6, 2019

You should look at #13387

@tsmaeder
Copy link
Contributor Author

tsmaeder commented Jun 11, 2019

@l0rd I'm quite sure this is not going to arrive in time for us to use it for GA (end of this sprint)

@l0rd
Copy link
Contributor

l0rd commented Jun 11, 2019

@tsmaeder correct. @davidfestal should work on that issue but probably not during this current sprint. That was just FYI to be aware and track that work.

@tsmaeder tsmaeder added this to the Backlog - Languages milestone Sep 23, 2019
@tsmaeder
Copy link
Contributor Author

tsmaeder commented Nov 8, 2019

T.b.h, I don't think that #13387 is really the solution, here: we want to run the tooling on a fixed version of Java (we can test against) and use a different version of Java in the workspace.
If we could mount a jdk directory (maybe from the dev container) into the tooling container, that would solve the problem, i.m.o. @l0rd do you think this is possible somehow?

@tsmaeder
Copy link
Contributor Author

VS Code-Java now offers the ability to work against a different JDK than the one that jdt.ls is running on. My idea would be to make init containers that copy a particular version of the JDK to a volume on Workspace creation and point VS Code-Java to that volume. We would only have to use a single plugin to run the language server and could mix and match target platforms.

@che-bot
Copy link
Contributor

che-bot commented Feb 4, 2021

Issues go stale after 180 days of inactivity. lifecycle/stale issues rot after an additional 7 days of inactivity and eventually close.

Mark the issue as fresh with /remove-lifecycle stale in a new comment.

If this issue is safe to close now please do so.

Moderators: Add lifecycle/frozen label to avoid stale mode.

@che-bot che-bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Feb 4, 2021
@ericwill
Copy link
Contributor

ericwill commented Feb 4, 2021

Duplicate of #16851

@ericwill ericwill marked this as a duplicate of #16851 Feb 4, 2021
@ericwill ericwill closed this as completed Feb 4, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/task Internal things, technical debt, and to-do tasks to be performed. lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale.
Projects
None yet
Development

No branches or pull requests

5 participants