redhat-developer / redhat-developer/vscode-java

Maven importer should support custom POM filenames or honor maven.pomfile.globPattern

Offen
#4,455 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

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

Beschreibung

Problem

A Maven Java project uses pom-customize.xml instead of pom.xml.

Maven itself works:

mvn -f pom-customize.xml compile

The VS Code Maven extension can be configured to discover it:

{
  "maven.pomfile.globPattern": "**/{pom.xml,pom-customize.xml}"
}

But the Java language server does not import the Maven classpath from pom-customize.xml. Java files then show false diagnostics such as:

RestController cannot be resolved to a type

Example import:

import org.springframework.web.bind.annotation.RestController;

## Expected behavior

The Java language server should either:

1. Honor maven.pomfile.globPattern, or
2. Provide a Java setting such as java.import.maven.pomfile.globPattern, or
3. Support custom Maven POM file names when Maven for Java has already discovered them.

## Actual behavior

Maven Explorer can discover the custom POM, but JDT LS / Red Hat Java does not import the project classpath unless the build file is named pom.xml.

## Environment

- VS Code
- Extension: redhat.java version 1.55.0
- Extension: vscjava.vscode-maven version 0.45.3
- Java: 21
- Maven project file: pom-customize.xml
- No pom.xml in project root

## Workarounds tried

- maven.pomfile.globPattern
- maven.executable.options: -f pom-customize.xml
- .mvn/maven.config with -f pom-customize.xml

These help Maven commands/explorer, but do not fix Java language server diagnostics.

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

Reproduziere das Projekt in VS Code mit nur pom-customize.xml und vergleiche die Erkennung durch Maven Explorer mit dem Klassenpfadimport von JDT LS / Red Hat Java. Beginne beim Maven-Importer des Java-Sprachservers und dem Verhalten von maven.pomfile.globPattern; abgeschlossen ist die Aufgabe, wenn die benutzerdefinierte POM importiert wurde und die RestController-Diagnose verschwindet.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java, vscode
Bereich
build-system, developer-experience, devtools
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Ruhig
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
45/100

Neue Issues direkt in Ihr Postfach

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