redhat-developer / redhat-developer/vscode-java

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

Offen
#1,567 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
TypeScript
Sterne
2.3k
Forks
546
Ø Merge
20 Std. 1 Min.
Gemergte PRs (30 T.)
11

Beschreibung

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

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Es werden keine Quelldatei, kein Test und keine kleine Reproduktion bereitgestellt. Beginne damit, das Zwei-Workspace-Maven-Szenario des Issues unter Windows mit den aufgeführten Java- und Extension-Versionen nachzustellen, und aktiviere anschließend die language-server logs mithilfe des verlinkten Troubleshooting-Leitfadens. Als abgeschlossen gilt die Aufgabe, wenn Änderungen, die aus Project B installiert wurden, in Project A sichtbar werden, ohne VS Code neu zu starten oder den Workspace des Language Servers zu bereinigen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java, vscode
Bereich
build-system, developer-experience, tooling
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.