redhat-developer / redhat-developer/vscode-java
Partial jdk classes cannot be resolved. It is indirectly reference from required ...
Aperta
Nessuno ha ancora preso questa issue.
- Lingua principale
- TypeScript
- Stelle
- 2.3k
- Fork
- 546
- Merge medio
- 20h 1m
- PR unite (30g)
- 11
Descrizione
- 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.
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Riproduci il problema nel progetto spring-petclinic ed esamina la diagnostica per PetClinicIntegrationTests.java insieme all’albero Java Projects JRE. Inizia con il report relativo all’assenza di Enum.class e con lo stack trace di org.eclipse.jdt.ls.core, quindi confronta il comportamento prima e dopo il ricaricamento della finestra di VS Code. Il lavoro è completato quando le classi JDK parziali non producono più l’errore di risoluzione segnalato.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- java, vscode
- Ambito
- devtools, tooling
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Da chiarire
- Idoneità per principianti
- 30/100