redhat-developer / redhat-developer/vscode-java
Partial jdk classes cannot be resolved. It is indirectly reference from required ...
Offen
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- TypeScript
- Sterne
- 2.3k
- Forks
- 547
- Ø Merge
- 20 Std. 1 Min.
- Gemergte PRs (30 T.)
- 11
Beschreibung
- Open spring-petclinic project in VS Code and observe the compilation error below.
[{
"resource": "/C:/Work/Code/spring-petclinic/src/test/java/org/springframework/samples/petclinic/PetClinicIntegrationTests.java",
"owner": "_generated_diagnostic_collection_name_#4",
"code": "16777563",
"severity": 8,
"message": "The type java.lang.Enum cannot be resolved. It is indirectly referenced from required type org.springframework.boot.test.context.SpringBootTest.WebEnvironment",
"source": "Java",
"startLineNumber": 1,
"startColumn": 1,
"endLineNumber": 1,
"endColumn": 2
}]
- In the Java Projects view, Enum.class is also not resolved in the JRE tree view.
- Click
Enum.classin the JRE tree view, Java extension reports error as below.
!ENTRY org.eclipse.jdt.ls.core 4 0 2023-10-26 16:12:15.657
!MESSAGE Enum.class [in java.lang [in <module:java.base>]] does not exist
!STACK 1
Java Model Exception: Error in Java Model (code 969): Enum.class [in java.lang [in <module:java.base>]] does not exist
at org.eclipse.jdt.internal.core.JavaElement.newNotPresentException(JavaElement.java:550)
at org.eclipse.jdt.internal.core.ClassFile.getBinaryTypeInfo(ClassFile.java:203)
at org.eclipse.jdt.internal.core.ClassFile.buildStructure(ClassFile.java:92)
at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:266)
at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:573)
at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:304)
at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:290)
at org.eclipse.jdt.internal.core.Openable.getBuffer(Openable.java:296)
at org.eclipse.jdt.internal.core.AbstractClassFile.getBuffer(AbstractClassFile.java:245)
at org.eclipse.jdt.internal.core.AbstractClassFile.getSourceRange(AbstractClassFile.java:371)
at org.eclipse.jdt.ls.core.internal.JDTUtils.resolveTypeRoot(JDTUtils.java:452)
at org.eclipse.jdt.ls.core.internal.handlers.FoldingRangeHandler.foldingRange(FoldingRangeHandler.java:66)
at org.eclipse.jdt.ls.core.internal.handlers.JDTLanguageServer.lambda$30(JDTLanguageServer.java:1027)
at org.eclipse.jdt.ls.core.internal.handlers.JDTLanguageServer.lambda$59(JDTLanguageServer.java:1216)
at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(Unknown Source)
at java.base/java.util.concurrent.CompletableFuture$Completion.exec(Unknown Source)
at java.base/java.util.concurrent.ForkJoinTask.doExec(Unknown Source)
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(Unknown Source)
at java.base/java.util.concurrent.ForkJoinPool.scan(Unknown Source)
at java.base/java.util.concurrent.ForkJoinPool.runWorker(Unknown Source)
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source)
!SUBENTRY 1 org.eclipse.jdt.core 4 969 2023-10-26 16:12:15.657
!MESSAGE Enum.class [in java.lang [in <module:java.base>]] does not exist
- I cannot reproduce this issue consistently, but I encountered it twice in my local environment recently. Reloading the window usually fixes it. I am opening this issue to see if anyone else has the same problem.
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Reproduziere das Problem im spring-petclinic-Projekt und untersuche die Diagnose für PetClinicIntegrationTests.java zusammen mit dem Java Projects JRE-Baum. Beginne mit dem Bericht über das fehlende Enum.class und dem Stack Trace von org.eclipse.jdt.ls.core und vergleiche dann das Verhalten vor und nach dem Neuladen des VS Code-Fensters. Als erledigt gilt die Aufgabe, wenn die partiellen JDK-Klassen nicht mehr den gemeldeten Auflösungsfehler verursachen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- java, vscode
- Bereich
- devtools, tooling
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 30/100