redhat-developer / redhat-developer/vscode-java

Java Maven Projects containing other nested Java Maven Projects not being recognized as Java Projects in 1.17

Offen
#3,080 12 Kommentare 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

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

Beschreibung

Description

I admit that our project structure is not standard, but it's how we've been working for many years. We have a java (war) project that contains many Java (jar) projects in a folder structure similar to the one below.

**root_java_project**
|-> pom.xml
|-> src
|-> **child_java_project_1**
      |-> pom.xml
      |-> src
|-> **child_java_project_2**
      |-> pom.xml
      |-> src
...
|-> child_java_project_n
      |-> pom.xml
      |-> src

Several on our team recently experienced this issue when we updated to Java Extension Pack to 1.17. It immediately ceased recognizing our ROOT project as being a legit java project. The child projects were fine. (note that the project hierarchy is only one level deep -- a root and it's children). Reverting back to 1.16 or earlier made the issue disappear.

Environment
  • Operating System: Mac OS Ventura 13.13.1
  • JDK version: 17 and 16
  • Visual Studio Code version: 1.77.3
  • Java extension version: 1.17
Steps To Reproduce
  1. Assume folder structure as shown above.
  2. Open an empty workspace
  3. click Add folder to workspace and select child_java_project_1
  4. project is added to workspace and it's recognized as a java project
  5. repeat for child_java_project_2 ... child_java_project_n
  6. all projects are recognized as java projects with full linking, debugging, etc, support.
  7. finally repeat for root_java_project. It shows up in the "Java Projects" but it doesn't recognize that there's a pom in that root folder and consequently doesn't capture it as being a legit java project.
  8. Revert back to 1.15 or 1.16 and it works.

I do see quite of few Stack Overflows in the Language Server Log file. Not sure if that's the cause.

VS Code Language Server Log file.txt
VSCode Client Logs.txt

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

Beginne damit, die in der Issue beschriebene verschachtelte pom.xml-Workspace-Struktur nachzubilden, und untersuche anschließend das angehängte VS Code Language Server Log und die VSCode Client Logs auf die gemeldeten Stack Overflows. Als erledigt gilt die Aufgabe, wenn das Root-Java-Projekt mit seiner pom.xml erkannt wird und die bestehende Unterstützung für Child-Projekte in Java extension 1.17 weiterhin funktioniert.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java, vscode
Bereich
build-system, devtools
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.