redhat-developer / redhat-developer/vscode-java

Problems with (I think) the language server and maven cross-project dependencies

Open
#1,567 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
2.3k
Forks
546
Avg merge
20h 1m
Merged PRs (30d)
11

Description

This is possibly a PEBCAK or user-ignorance issue.

I work with several Maven projects.
I have project A and project B open in separate VSCOde workspaces. Project B has multiple sub-projects

A subproject of Project B builds a JAR that is a maven dependency in project A.

Project B is quite large. Project A is small (but all are spring boot so there's quite a lot of cruft around).

If in project B I make some change (say, add a method to a class) and "mvn install", then the VSCode doesn't pick up the change in project A. The new method isn't visible.

Java: refresh, Java: force compilation, java: update project configuration don't fix this.
Java: clean the language server workspace sometimes fixes it, but not always. And takes an age so I don't want to be doing this.

The dependencies are all correct as far as Maven is concerned, as a command-line "mvn install" (for example) of Project A succeeds, including the code that calls the new method

Existing the VSCode for Project A and restarting does seem to work, so it looks like some sort of refresh/caching issue

How am I supposed to set things up for this case? (one maven project depending on the artefact of another)?

I've tried adding Project B as a folder to the workspace of Project A - but the LSP seems to have issues with that (I previously reported a non-reproducable bug were @Test run/debug no longer appeared, and when I tried it as a work around for this, I lost the semantic highlighting etc, (I think - the import statements weren't green but white, as they are while the LSP workspace is loading when first opening the workspace).

If I can provide more info/logs etc, please let me know what is needed.

Environment
  • Operating System: Windows 10
  • JDK version: VSCode says current version is JDK11
  • Visual Studio Code version: 1.47
  • Java extension version: MS Java 0.9.1, Redhat 0.65.0
Steps To Reproduce

Please see description above, I don't have a small test case. Sorry

[Please attach a sample project reproducing the error]
Proprietary code. I can't.
Please attach logs

Current Result
Expected Result
Additional Informations

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No source file, test, or small reproduction is provided. Start by following the issue's two-workspace Maven scenario on Windows with the listed Java and extension versions, then enable the language-server logs using the linked troubleshooting guide. Done means changes installed from Project B become visible in Project A without restarting VS Code or cleaning the language-server workspace.

Written by the indexing model from the issue text.

Assessment

Tech stack
java, vscode
Domain
build-system, developer-experience, tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.