IDE fails to resolve correct class when duplicate classes exist across multiple JARs (shaded vs non-shaded)
Les mainteneurs répondent en général sous 4 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
- Domaine
- developer-experience, tooling
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
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
- 5 h 36 min
- PR mergées (30 j)
- 10
Préparer son environnement
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de redhat-developer/vscode-java
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
redhat-developer/vscode-java#4511 ·
Les mainteneurs répondent en général sous 4 jours
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
redhat-developer/vscode-java#4426 ·
Les mainteneurs répondent en général sous 4 jours
-
bug
Difficulté 4/5 3-5 jours Accessibilité débutants 45/100
redhat-developer/vscode-java#4506 · 6 commentaires · 4 réactions ·
Les mainteneurs répondent en général sous 4 jours
-
bug
Difficulté 4/5 3-5 jours Accessibilité débutants 45/100
redhat-developer/vscode-java#4505 · 5 commentaires · 2 réactions ·
Les mainteneurs répondent en général sous 4 jours
-
Difficulté 4/5 3-5 jours Accessibilité débutants 52/100
redhat-developer/vscode-java#4504 · 3 commentaires · 1 réaction ·
Les mainteneurs répondent en général sous 4 jours
Toutes les issues de redhat-developer/vscode-java
Issues similaires
-
ADD openalgoOuvertetemplate
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
Les mainteneurs répondent en général sous 1 jour
-
factory-active factory-automatic task-bug-reproduction-success task-identify-harness-labels-done task-identify-issue-type-done
Difficulté 2/5 1-3 heures Accessibilité débutants 90/100
vercel/ai#21528 · 3 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
bug Needs: Triage :mag:
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
microsoft/fluentui-contrib#671 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
sveltejs/acorn-typescript#150 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100