Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

IDE fails to resolve correct class when duplicate classes exist across multiple JARs (shaded vs non-shaded)

Ouverte
#4,251 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 3 jours

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
42/100
Type d'issue
Bug
Clarté
Plutôt claire
Activité
À l'abandon
Stack technique
java, typescript, vscode

Piste de recherche

Commencez par la reproduction Gradle décrite dans l’issue, en utilisant des classes dupliquées provenant de JARs ombrés et non ombrés. Suivez la manière dont la VS Code Java extension résout la classe par rapport à la Gradle CLI, et vérifiez la complétion lorsque l’AuthenticationHandler non ombré est sélectionné sans incompatibilité de type.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

Description

The class org.apache.hadoop.security.authentication.server.AuthenticationHandler is present in both the jars i have:

  • hadoop-client-api.jar (shaded version)
  • hadoop-auth.jar (non-shaded version)

In the shaded JAR (hadoop-client-api.jar), AuthenticationHandler references HttpServletRequest from a relocated (shaded) servlet package.
In hadoop-auth.jar, the same class references javax.servlet.HttpServletRequest.

This leads to ambiguous class resolution in VS Code.
In our case, the VS Code Java extension mistakenly resolves the shaded AuthenticationHandler from hadoop-client-api.jar instead of the correct one from hadoop-auth.jar, resulting in a type mismatch when extending the class.

Reference screenshot

Image

Environment

Hadoop version: 3.4.0
Java version: 17.0.16
Build tool: Gradle 8.14
IDE: VS Code with Java extension (vscjava.vscode-gradle 3.17.1)

Steps to Reproduce

  • Create a Gradle project depending on two JARs that contain the same class name.
  • One JAR uses a shaded package (e.g., org.apache.hadoop.shaded.*).
  • Reference the class from the unshaded JAR.
  • Observe that VS Code reports type mismatch or class conflict, while Gradle CLI builds successfully.
Langage dominant
TypeScript
Étoiles
2.3k
Forks
547
Merge moyen
20 h 9 min
PR mergées (30 j)
10

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de redhat-developer/vscode-java

Toutes les issues de redhat-developer/vscode-java

Issues similaires

Plus d'issues TypeScript

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.