spring-projects / sts4

The next generation of tooling for Spring Boot, including support for Cloud Foundry manifest files, Concourse CI pipeline definitions, BOSH deployment manifests, and more... - Available for Eclipse, Visual Studio Code, and Theia
https://spring.io/tools
Eclipse Public License 1.0
870 stars 203 forks source link

Live Application Information Not Working #712

Closed afattahi54 closed 1 year ago

afattahi54 commented 2 years ago

Describe the bug The hovering over the highlights with the mouse pointer doesn't show any information

  1. Spring Tool Suite 4
  2. Version: 4.13.0.RELEASE
  3. Build Id: 202112031748
  4. Spring boot 2.6.2
  5. The spring-boot-starter-actuator is in the pom

The eclipse itself vm parameters as below

eclipse.vm=D:\RD\Spring\sts-4.13.0.RELEASE\\plugins/org.eclipse.justj.openjdk.hotspot.jre.full.win32.x86_64_17.0.1.v20211116-1657/jre/bin\server\jvm.dll
eclipse.vmargs=-Dosgi.requiredJavaVersion=11

Showing the running project properties I can see all beans and request mappings

image

I have not changed the jmx parameters. An i can see this in Env

image

The live data connections dows not show any thing

image

The spring boot language server is set as default:

image

I also see this in workspace log:

java.util.concurrent.TimeoutException
    at java.base/java.util.concurrent.CompletableFuture.timedGet(CompletableFuture.java:1960)
    at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2095)
    at org.eclipse.lsp4e.operations.codeactions.LSPCodeActionMarkerResolution.checkMarkerResoultion(LSPCodeActionMarkerResolution.java:170)
    at org.eclipse.lsp4e.operations.codeactions.LSPCodeActionMarkerResolution.hasResolutions(LSPCodeActionMarkerResolution.java:192)
    at org.eclipse.ui.internal.ide.registry.MarkerHelpRegistry.hasResolution(MarkerHelpRegistry.java:264)
    at org.eclipse.ui.internal.ide.registry.MarkerHelpRegistry.hasResolutions(MarkerHelpRegistry.java:234)
    at org.eclipse.ui.views.markers.MarkerField.annotateImage(MarkerField.java:87)
    at org.eclipse.ui.internal.views.markers.MarkerProblemSeverityAndMessageField.update(MarkerProblemSeverityAndMessageField.java:80)
    at org.eclipse.ui.internal.views.markers.MarkerColumnLabelProvider.update(MarkerColumnLabelProvider.java:57)
    at org.eclipse.jface.viewers.ViewerColumn.refresh(ViewerColumn.java:144)
    at org.eclipse.jface.viewers.AbstractTreeViewer.doUpdateItem(AbstractTreeViewer.java:957)
    at org.eclipse.ui.internal.views.markers.MarkersTreeViewer.doUpdateItem(MarkersTreeViewer.java:70)
    at org.eclipse.jface.viewers.AbstractTreeViewer$UpdateItemSafeRunnable.run(AbstractTreeViewer.java:126)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
    at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:174)
    at org.eclipse.jface.viewers.AbstractTreeViewer.doUpdateItem(AbstractTreeViewer.java:1035)
    at org.eclipse.jface.viewers.StructuredViewer$UpdateItemSafeRunnable.run(StructuredViewer.java:427)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
    at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:174)
    at org.eclipse.jface.viewers.StructuredViewer.updateItem(StructuredViewer.java:2109)
    at org.eclipse.jface.viewers.AbstractTreeViewer.updateChildren(AbstractTreeViewer.java:2778)
    at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefreshStruct(AbstractTreeViewer.java:1958)
    at org.eclipse.jface.viewers.TreeViewer.internalRefreshStruct(TreeViewer.java:684)
    at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefreshStruct(AbstractTreeViewer.java:1964)
    at org.eclipse.jface.viewers.TreeViewer.internalRefreshStruct(TreeViewer.java:684)
    at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefresh(AbstractTreeViewer.java:1934)
    at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefresh(AbstractTreeViewer.java:1891)
    at org.eclipse.jface.viewers.StructuredViewer.lambda$3(StructuredViewer.java:1482)
    at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1398)
    at org.eclipse.jface.viewers.TreeViewer.preservingSelection(TreeViewer.java:365)
    at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1359)
    at org.eclipse.jface.viewers.StructuredViewer.refresh(StructuredViewer.java:1482)
    at org.eclipse.jface.viewers.ColumnViewer.refresh(ColumnViewer.java:538)
    at org.eclipse.jface.viewers.StructuredViewer.refresh(StructuredViewer.java:1443)
    at org.eclipse.ui.internal.views.markers.UIUpdateJob.runInUIThread(UIUpdateJob.java:103)
    at org.eclipse.ui.progress.UIJob.lambda$0(UIJob.java:95)
    at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40)
    at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:185)
    at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4035)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3635)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1154)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1045)
    at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155)
    at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:644)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:551)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:156)
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:136)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:401)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:568)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:659)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:596)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1467)

and this

java.lang.IllegalArgumentException: Argument not valid
    at org.eclipse.swt.SWT.error(SWT.java:4888)
    at org.eclipse.swt.SWT.error(SWT.java:4822)
    at org.eclipse.swt.SWT.error(SWT.java:4793)
    at org.eclipse.swt.custom.StyledText.setStyleRanges(StyledText.java:10649)
    at org.eclipse.swt.custom.StyledText.replaceStyleRanges(StyledText.java:8239)
    at org.eclipse.jface.text.TextViewer.addPresentation(TextViewer.java:4773)
    at org.eclipse.jface.text.TextViewer.changeTextPresentation(TextViewer.java:4850)
    at org.eclipse.tm4e.ui.text.TMPresentationReconciler.applyTextRegionCollection(TMPresentationReconciler.java:673)
    at org.eclipse.tm4e.ui.text.TMPresentationReconciler.colorize(TMPresentationReconciler.java:572)
    at org.eclipse.tm4e.ui.text.TMPresentationReconciler$InternalListener.textChanged(TMPresentationReconciler.java:310)
    at org.eclipse.jface.text.TextViewer.updateTextListeners(TextViewer.java:2785)
    at org.eclipse.jface.text.TextViewer.fireRedrawChanged(TextViewer.java:4995)
    at org.eclipse.jface.text.TextViewer.enabledRedrawing(TextViewer.java:5035)
    at org.eclipse.jface.text.TextViewer.enabledRedrawing(TextViewer.java:5003)
    at org.eclipse.jface.text.TextViewer.setRedraw(TextViewer.java:5085)
    at org.eclipse.jface.text.TextViewer.setRedraw(TextViewer.java:5059)
    at org.eclipse.jface.text.TextViewer$RewriteTarget.setRedraw(TextViewer.java:1004)
    at org.eclipse.jface.text.TextViewer$DocumentRewriteSessionListener.documentRewriteSessionChanged(TextViewer.java:1410)
    at org.eclipse.jface.text.AbstractDocument.fireRewriteSessionChanged(AbstractDocument.java:1432)
    at org.eclipse.jface.text.AbstractDocument.stopRewriteSession(AbstractDocument.java:1513)
    at org.eclipse.core.internal.filebuffers.SynchronizableDocument.stopRewriteSession(SynchronizableDocument.java:108)
    at org.eclipse.ltk.core.refactoring.TextChange.performEdits(TextChange.java:283)
    at org.eclipse.ltk.core.refactoring.TextFileChange.access$0(TextFileChange.java:1)
    at org.eclipse.ltk.core.refactoring.TextFileChange.lambda$0(TextFileChange.java:270)
    at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40)
    at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:185)
    at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4035)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3635)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1154)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1045)
    at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155)
    at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:644)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:551)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:156)
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:136)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:401)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:568)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:659)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:596)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1467)

The error logs details:

image

martinlippert commented 2 years ago

Can you share a sample app that could help us to reproduce this behavior?

In addition to that it could also be helpful to take a look and share the log output of the Spring Boot language server process, which you can enable and stream to a console tab in the Preferences -> Language Servers -> Spring Language Servers (and then select the Spring Boot item). This change will take effect the next time the language server process is started behind the scenes, so this might require a restart of the IDE in order to take effect.

(and sorry for the late reply)

afattahi54 commented 2 years ago

I have created a starter project as:

https://start.spring.io/starter.zip?name=sample&groupId=ir.freelancer&artifactId=sample&version=0.0.1-SNAPSHOT&description=Wenex+Rest+Services&packageName=ir.freelancer.wenex&type=maven-project&packaging=jar&javaVersion=17&language=java&bootVersion=2.6.2&dependencies=devtools&dependencies=actuator&dependencies=web

and add a controller

The log is:


[t=1641882895228] LSP4E to org.eclipse.languageserver.languages.springboot:
Content-Length: 1471

[t=1641882895235] LSP4E to org.eclipse.languageserver.languages.springboot:
{"jsonrpc":"2.0","id":"1","method":"initialize","params":{"processId":239788,"rootPath":"/D:/RD/Spring/workspace/sample/","rootUri":"file:///D:/RD/Spring/workspace/sample/","capabilities":{"workspace":{"applyEdit":true,"workspaceEdit":{"documentChanges":true,"resourceOperations":["create","delete","rename"],"failureHandling":"undo"},"symbol":{"dynamicRegistration":true},"executeCommand":{"dynamicRegistration":true},"workspaceFolders":true},"textDocument":{"synchronization":{"willSave":true,"willSaveWaitUntil":true,"didSave":true},"completion":{"completionItem":{"snippetSupport":true,"documentationFormat":["markdown","plaintext"]}},"hover":{"contentFormat":["markdown","plaintext"]},"signatureHelp":{},"references":{},"documentHighlight":{},"documentSymbol":{"symbolKind":{"valueSet":[18,17,5,14,9,10,22,24,8,1,12,11,20,6,2,3,21,16,19,25,4,7,15,23,26,13]},"hierarchicalDocumentSymbolSupport":true},"formatting":{"dynamicRegistration":true},"rangeFormatting":{},"definition":{"linkSupport":true},"typeDefinition":{"linkSupport":true},"codeAction":{"codeActionLiteralSupport":{"codeActionKind":{"valueSet":["quickfix","refactor","refactor.extract","refactor.inline","refactor.rewrite","source","source.organizeImports"]}},"dynamicRegistration":true},"codeLens":{},"documentLink":{},"colorProvider":{},"rename":{},"foldingRange":{}}},"clientName":"Spring Tool Suite 4","trace":"off","workspaceFolders":[{"uri":"file:/D:/RD/Spring/workspace/sample","name":"sample"}]}}
[t=1641882902503] org.eclipse.languageserver.languages.springboot to LSP4E:
{"jsonrpc":"2.0","id":"1","result":{"capabilities":{"textDocumentSync":2,"hoverProvider":true,"completionProvider":{"resolveProvider":true,"triggerCharacters":[".","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","{"]},"definitionProvider":true,"referencesProvider":true,"documentHighlightProvider":true,"documentSymbolProvider":true,"workspaceSymbolProvider":true,"codeActionProvider":true,"codeLensProvider":{"resolveProvider":false},"executeCommandProvider":{"commands":["sts.vscode-spring-boot.codeAction","sts/livedata/listProcesses","sts/livedata/disconnect","sts/livedata/connect","sts/livedata/refresh","sts.vscode-spring-boot.enableClasspathListening"]},"workspace":{"workspaceFolders":{"supported":true,"changeNotifications":"011fe778-65ad-400c-8a3d-581ed256385f"}}}}}
[t=1641882902541] LSP4E to org.eclipse.languageserver.languages.springboot:
Content-Length: 52

[t=1641882902542] LSP4E to org.eclipse.languageserver.languages.springboot:
{"jsonrpc":"2.0","method":"initialized","params":{}}
[t=1641882902564] LSP4E to org.eclipse.languageserver.languages.springboot:
Content-Length: 551

[t=1641882902609] LSP4E to org.eclipse.languageserver.languages.springboot:
{"jsonrpc":"2.0","method":"textDocument/didOpen","params":{"textDocument":{"uri":"file:///D:/RD/Spring/workspace/sample/src/main/java/ir/freelancer/wenex/SampleApplication.java","languageId":"java","version":1,"text":"package ir.freelancer.wenex;\n\nimport org.springframework.boot.SpringApplication;\nimport org.springframework.boot.autoconfigure.SpringBootApplication;\n\n@SpringBootApplication\npublic class SampleApplication {\n\n\tpublic static void main(String[] args) {\n\t\tSpringApplication.run(SampleApplication.class, args);\n\t}\n\n}\n"}}}
[t=1641882902617] LSP4E to org.eclipse.languageserver.languages.springboot:
Content-Length: 190

[t=1641882902685] LSP4E to org.eclipse.languageserver.languages.springboot:
{"jsonrpc":"2.0","id":"4","method":"textDocument/codeLens","params":{"textDocument":{"uri":"file:///D:/RD/Spring/workspace/sample/src/main/java/ir/freelancer/wenex/SampleApplication.java"}}}
[t=1641882902688] LSP4E to org.eclipse.languageserver.languages.springboot:
Content-Length: 170

[t=1641882902703] LSP4E to org.eclipse.languageserver.languages.springboot:
{"jsonrpc":"2.0","method":"workspace/didChangeWorkspaceFolders","params":{"event":{"added":[{"uri":"file:/D:/RD/Spring/workspace/sample","name":"sample"}],"removed":[]}}}
[t=1641882902715] LSP4E to org.eclipse.languageserver.languages.springboot:
Content-Length: 190

[t=1641882902720] LSP4E to org.eclipse.languageserver.languages.springboot:
{"jsonrpc":"2.0","id":"3","method":"textDocument/codeLens","params":{"textDocument":{"uri":"file:///D:/RD/Spring/workspace/sample/src/main/java/ir/freelancer/wenex/SampleApplication.java"}}}
[t=1641882902724] LSP4E to org.eclipse.languageserver.languages.springboot:
Content-Length: 190

[t=1641882902732] LSP4E to org.eclipse.languageserver.languages.springboot:
{"jsonrpc":"2.0","id":"2","method":"textDocument/codeLens","params":{"textDocument":{"uri":"file:///D:/RD/Spring/workspace/sample/src/main/java/ir/freelancer/wenex/SampleApplication.java"}}}
[t=1641882902741] LSP4E to org.eclipse.languageserver.languages.springboot:
Content-Length: 457

[t=1641882902755] LSP4E to org.eclipse.languageserver.languages.springboot:
{"jsonrpc":"2.0","method":"workspace/didChangeConfiguration","params":{"settings":{"boot-java":{"support-spring-xml-config":{"scan-folders":"src/main","content-assist":"true","hyperlinks":"true","on":false},"remote-apps":[],"scan-java-test-sources":{"on":false},"live-information":{"automatic-tracking":{"delay":5000,"on":true},"fetch-data":{"retry-delay-in-seconds":3,"max-retries":10}},"change-detection":{"on":false},"validation":{"spel":{"on":true}}}}}}
[t=1641882902779] LSP4E to org.eclipse.languageserver.languages.springboot:
Content-Length: 457

[t=1641882902800] LSP4E to org.eclipse.languageserver.languages.springboot:
{"jsonrpc":"2.0","method":"workspace/didChangeConfiguration","params":{"settings":{"boot-java":{"support-spring-xml-config":{"scan-folders":"src/main","content-assist":"true","hyperlinks":"true","on":false},"remote-apps":[],"scan-java-test-sources":{"on":false},"live-information":{"automatic-tracking":{"delay":5000,"on":true},"fetch-data":{"retry-delay-in-seconds":3,"max-retries":10}},"change-detection":{"on":false},"validation":{"spel":{"on":true}}}}}}
[t=1641882902815] org.eclipse.languageserver.languages.springboot to LSP4E:
{"jsonrpc":"2.0","id":"1","method":"client/registerCapability","params":{"registrations":[{"id":"011fe778-65ad-400c-8a3d-581ed256385f","method":"workspace/didChangeWorkspaceFolders"}]}}
[t=1641882902826] org.eclipse.languageserver.languages.springboot to LSP4E:
{"jsonrpc":"2.0","method":"sts/highlight","params":{"doc":{"version":1,"uri":"file:///D:/RD/Spring/workspace/sample/src/main/java/ir/freelancer/wenex/SampleApplication.java"},"codeLenses":[]}}
[t=1641882902825] LSP4E to org.eclipse.languageserver.languages.springboot:
Content-Length: 40

[t=1641882902900] LSP4E to org.eclipse.languageserver.languages.springboot:
{"jsonrpc":"2.0","id":"1","result":null}
[t=1641882902904] org.eclipse.languageserver.languages.springboot to LSP4E:
{"jsonrpc":"2.0","id":"4","result":[]}
[t=1641882902936] org.eclipse.languageserver.languages.springboot to LSP4E:
{"jsonrpc":"2.0","id":"3","result":[]}
[t=1641882902938] org.eclipse.languageserver.languages.springboot to LSP4E:
{"jsonrpc":"2.0","id":"2","result":[]}
[t=1641882902941] org.eclipse.languageserver.languages.springboot to LSP4E:
{"jsonrpc":"2.0","id":"2","method":"client/registerCapability","params":{"registrations":[{"id":"8842de8e-a92c-4064-ba1e-420d11293d6f","method":"workspace/executeCommand","registerOptions":{"commands":["sts4.classpath.REDVlxdL"]}}]}}
[t=1641882902950] LSP4E to org.eclipse.languageserver.languages.springboot:
Content-Length: 40

[t=1641882902951] LSP4E to org.eclipse.languageserver.languages.springboot:
{"jsonrpc":"2.0","id":"2","result":null}
[t=1641882902954] org.eclipse.languageserver.languages.springboot to LSP4E:
{"jsonrpc":"2.0","id":"3","method":"sts/addClasspathListener","params":{"callbackCommandId":"sts4.classpath.REDVlxdL","batched":true}}
[t=1641882903106] LSP4E to org.eclipse.languageserver.languages.springboot:
Content-Length: 40

[t=1641882903107] LSP4E to org.eclipse.languageserver.languages.springboot:
{"jsonrpc":"2.0","id":"3","result":"ok"}
[t=1641882903168] LSP4E to org.eclipse.languageserver.languages.springboot:
Content-Length: 25122

[t=1641882903173] LSP4E to org.eclipse.languageserver.languages.springboot:
{"jsonrpc":"2.0","id":"5","method":"workspace/executeCommand","params":{"command":"sts4.classpath.REDVlxdL","arguments":[["file:/D:/RD/Spring/workspace/sample","sample",false,{"entries":[{"kind":"source","path":"D:\\RD\\Spring\\workspace\\sample\\src\\main\\java","outputFolder":"D:\\RD\\Spring\\workspace\\sample\\target\\classes","isSystem":false,"isOwn":true,"isTest":false,"isJavaContent":true},{"kind":"source","path":"D:\\RD\\Spring\\workspace\\sample\\src\\main\\resources","outputFolder":"D:\\RD\\Spring\\workspace\\sample\\target\\classes","isSystem":false,"isOwn":true,"isTest":false,"isJavaContent":true},{"kind":"source","path":"D:\\RD\\Spring\\workspace\\sample\\src\\test\\java","outputFolder":"D:\\RD\\Spring\\workspace\\sample\\target\\test-classes","isSystem":false,"isOwn":true,"isTest":true,"isJavaContent":true},{"kind":"binary","path":"E:\\jdk-17\\lib\\jrt-fs.jar","sourceContainerUrl":"file:/E:/jdk-17/lib/src.zip","isSystem":true,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\a_fattahi\\.m2\\repository\\org\\springframework\\boot\\spring-boot-starter-actuator\\2.6.2\\spring-boot-starter-actuator-2.6.2.jar","sourceContainerUrl":"file:/C:/Users/a_fattahi/.m2/repository/org/springframework/boot/spring-boot-starter-actuator/2.6.2/spring-boot-starter-actuator-2.6.2-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\a_fattahi\\.m2\\repository\\org\\springframework\\boot\\spring-boot-starter\\2.6.2\\spring-boot-starter-2.6.2.jar","sourceContainerUrl":"file:/C:/Users/a_fattahi/.m2/repository/org/springframework/boot/spring-boot-starter/2.6.2/spring-boot-starter-2.6.2-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\a_fattahi\\.m2\\repository\\org\\springframework\\boot\\spring-boot-starter-logging\\2.6.2\\spring-boot-starter-logging-2.6.2.jar","sourceContainerUrl":"file:/C:/Users/a_fattahi/.m2/repository/org/springframework/boot/spring-boot-starter-logging/2.6.2/spring-boot-starter-logging-2.6.2-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\a_fattahi\\.m2\\repository\\ch\\qos\\logback\\logback-classic\\1.2.9\\logback-classic-1.2.9.jar","sourceContainerUrl":"file:/C:/Users/a_fattahi/.m2/repository/ch/qos/logback/logback-classic/1.2.9/logback-classic-1.2.9-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\a_fattahi\\.m2\\repository\\ch\\qos\\logback\\logback-core\\1.2.9\\logback-core-1.2.9.jar","sourceContainerUrl":"file:/C:/Users/a_fattahi/.m2/repository/ch/qos/logback/logback-core/1.2.9/logback-core-1.2.9-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\a_fattahi\\.m2\\repository\\org\\apache\\logging\\log4j\\log4j-to-slf4j\\2.17.0\\log4j-to-slf4j-2.17.0.jar","sourceContainerUrl":"file:/C:/Users/a_fattahi/.m2/repository/org/apache/logging/log4j/log4j-to-slf4j/2.17.0/log4j-to-slf4j-2.17.0-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\a_fattahi\\.m2\\repository\\org\\apache\\logging\\log4j\\log4j-api\\2.17.0\\log4j-api-2.17.0.jar","sourceContainerUrl":"file:/C:/Users/a_fattahi/.m2/repository/org/apache/logging/log4j/log4j-api/2.17.0/log4j-api-2.17.0-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\a_fattahi\\.m2\\repository\\org\\slf4j\\jul-to-slf4j\\1.7.32\\jul-to-slf4j-1.7.32.jar","sourceContainerUrl":"file:/C:/Users/a_fattahi/.m2/repository/org/slf4j/jul-to-slf4j/1.7.32/jul-to-slf4j-1.7.32-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\a_fattahi\\.m2\\repository\\jakarta\\annotation\\jakarta.annotation-api\\1.3.5\\jakarta.annotation-api-1.3.5.jar","sourceContainerUrl":"file:/C:/Users/a_fattahi/.m2/repository/jakarta/annotation/jakarta.annotation-api/1.3.5/jakarta.annotation-api-1.3.5-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\a_fattahi\\.m2\\repository\\org\\yaml\\snakeyaml\\1.29\\snakeyaml-1.29.jar","sourceContainerUrl":"file:/C:/Users/a_fattahi/.m2/repository/org/yaml/snakeyaml/1.29/snakeyaml-1.29-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\a_fattahi\\.m2\\repository\\org\\springframework\\boot\\spring-boot-actuator-autoconfigure\\2.6.2\\spring-boot-actuator-autoconfigure-2.6.2.jar","sourceContainerUrl":"file:/C:/Users/a_fattahi/.m2/repository/org/springframework/boot/spring-boot-actuator-autoconfigure/2.6.2/spring-boot-actuator-autoconfigure-2.6.2-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\a_fattahi\\.m2\\repository\\org\\springframework\\boot\\spring-boot-actuator\\2.6.2\\spring-boot-actuator-2.6.2.jar","sourceContainerUrl":"file:/C:/Users/a_fattahi/.m2/repository/org/springframework/boot/spring-boot-actuator/2.6.2/spring-boot-actuator-2.6.2-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\a_fattahi\\.m2\\repository\\com\\fasterxml\\jackson\\core\\jackson-databind\\2.13.1\\jackson-databind-2.13.1.jar","sourceContainerUrl":"file:/C:/Users/a_fattahi/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.13.1/jackson-databind-2.13.1-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\a_fattahi\\.m2\\repository\\com\\fasterxml\\jackson\\core\\jackson-annotations\\2.13.1\\jackson-annotations-2.13.1.jar","sourceContainerUrl":"file:/C:/Users/a_fattahi/.m2/repository/com/fasterxml/jackson/core/jackson-annotations/2.13.1/jackson-annotations-2.13.1-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\a_fattahi\\.m2\\repository\\com\\fasterxml\\jackson\\core\\jackson-core\\2.13.1\\jackson-core-2.13.1.jar","sourceContainerUrl":"file:/C:/Users/a_fattahi/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.13.1/jackson-core-2.13.1-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\a_fattahi\\.m2\\repository\\com\\fasterxml\\jackson\\datatype\\jackson-datatype-jsr310\\2.13.1\\jackson-datatype-jsr310-2.13.1.jar","sourceContainerUrl":"file:/C:/Users/a_fattahi/.m2/repository/com/fasterxml/jackson/datatype/jackson-datatype-jsr310/2.13.1/jackson-datatype-jsr310-2.13.1-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\a_fattahi\\.m2\\repository\\io\\micrometer\\micrometer-core\\1.8.1\\micrometer-core-1.8.1.jar","sourceContainerUrl":"file:/C:/Users/a_fattahi/.m2/repository/io/micrometer/micrometer-core/1.8.1/micrometer-core-1.8.1-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\a_fattahi\\.m2\\repository\\org\\hdrhistogram\\HdrHistogram\\2.1.12\\HdrHistogram-2.1.12.jar","sourceContainerUrl":"file:/C:/Users/a_fattahi/.m2/repository/org/hdrhistogram/HdrHistogram/2.1.12/HdrHistogram-2.1.12-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\a_fattahi\\.m2\\repository\\org\\latencyutils\\LatencyUtils\\2.0.3\\LatencyUtils-2.0.3.jar","sourceContainerUrl":"file:/C:/Users/a_fattahi/.m2/repository/org/latencyutils/LatencyUtils/2.0.3/LatencyUtils-2.0.3-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\a_fattahi\\.m2\\repository\\org\\springframework\\boot\\spring-boot-starter-web\\2.6.2\\spring-boot-starter-web-2.6.2.jar","sourceContainerUrl":"file:/C:/Users/a_fattahi/.m2/repository/org/springframework/boot/spring-boot-starter-web/2.6.2/spring-boot-starter-web-2.6.2-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\a_fattahi\\.m2\\repository\\org\\springframework\\boot\\spring-boot-starter-json\\2.6.2\\spring-boot-starter-json-2.6.2.jar","sourceContainerUrl":"file:/C:/Users/a_fattahi/.m2/repository/org/springframework/boot/spring-boot-starter-json/2.6.2/spring-boot-starter-json-2.6.2-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\a_fattahi\\.m2\\repository\\com\\fasterxml\\jackson\\datatype\\jackson-datatype-jdk8\\2.13.1\\jackson-datatype-jdk8-2.13.1.jar","sourceContainerUrl":"file:/C:/Users/a_fattahi/.m2/repository/com/fasterxml/jackson/datatype/jackson-datatype-jdk8/2.13.1/jackson-datatype-jdk8-2.13.1-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\a_fattahi\\.m2\\repository\\com\\fasterxml\\jackson\\module\\jackson-module-parameter-names\\2.13.1\\jackson-module-parameter-names-2.13.1.jar","sourceContainerUrl":"file:/C:/Users/a_fattahi/.m2/repository/com/fasterxml/jackson/module/jackson-module-parameter-names/2.13.1/jackson-module-parameter-names-2.13.1-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\a_fattahi\\.m2\\repository\\org\\springframework\\boot\\spring-boot-starter-tomcat\\2.6.2\\spring-boot-starter-tomcat-2.6.2.jar","sourceContainerUrl":"file:/C:/Users/a_fattahi/.m2/repository/org/springframework/boot/spring-boot-starter-tomcat/2.6.2/spring-boot-starter-tomcat-2.6.2-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\a_fattahi\\.m2\\repository\\org\\apache\\tomcat\\embed\\tomcat-embed-core\\9.0.56\\tomcat-embed-core-9.0.56.jar","sourceContainerUrl":"file:/C:/Users/a_fattahi/.m2/repository/org/apache/tomcat/embed/tomcat-embed-core/9.0.56/tomcat-embed-core-9.0.56-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\a_fattahi\\.m2\\repository\\org\\apache\\tomcat\\embed\\tomcat-embed-el\\9.0.56\\tomcat-embed-el-9.0.56.jar","sourceContainerUrl":"file:/C:/Users/a_fattahi/.m2/repository/org/apache/tomcat/embed/tomcat-embed-el/9.0.56/tomcat-embed-el-9.0.56-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\a_fattahi\\.m2\\repository\\org\\apache\\tomcat\\embed\\tomcat-embed-websocket\\9.0.56\\tomcat-embed-websocket-9.0.56.jar","sourceContainerUrl":"file:/C:/Users/a_fattahi/.m2/repository/org/apache/tomcat/embed/tomcat-embed-websocket/9.0.56/tomcat-embed-websocket-9.0.56-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\a_fattahi\\.m2\\repository\\org\\springframework\\spring-web\\5.3.14\\spring-web-5.3.14.jar","sourceContainerUrl":"file:/C:/Users/a_fattahi/.m2/repository/org/springframework/spring-web/5.3.14/spring-web-5.3.14-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\a_fattahi\\.m2\\repository\\org\\springframework\\spring-beans\\5.3.14\\spring-beans-5.3.14.jar","sourceContainerUrl":"file:/C:/Users/a_fattahi/.m2/repository/org/springframework/spring-beans/5.3.14/spring-beans-5.3.14-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\a_fattahi\\.m2\\repository\\org\\springframework\\spring-webmvc\\5.3.14\\spring-webmvc-5.3.14.jar","sourceContainerUrl":"file:/C:/Users/a_fattahi/.m2/repository/org/springframework/spring-webmvc/5.3.14/spring-webmvc-5.3.14-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\a_fattahi\\.m2\\repository\\org\\springframework\\spring-aop\\5.3.14\\spring-aop-5.3.14.jar","sourceContainerUrl":"file:/C:/Users/a_fattahi/.m2/repository/org/springframework/spring-aop/5.3.14/spring-aop-5.3.14-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\a_fattahi\\.m2\\repository\\org\\springframework\\spring-context\\5.3.14\\spring-context-5.3.14.jar","sourceContainerUrl":"file:/C:/Users/a_fattahi/.m2/repository/org/springframework/spring-context/5.3.14/spring-context-5.3.14-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\a_fattahi\\.m2\\repository\\org\\springframework\\spring-expression\\5.3.14\\spring-expression-5.3.14.jar","sourceContainerUrl":"file:/C:/Users/a_fattahi/.m2/repository/org/springframework/spring-expression/5.3.14/spring-expression-5.3.14-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\a_fattahi\\.m2\\repository\\org\\springframework\\boot\\spring-boot-devtools\\2.6.2\\spring-boot-devtools-2.6.2.jar","sourceContainerUrl":"file:/C:/Users/a_fattahi/.m2/repository/org/springframework/boot/spring-boot-devtools/2.6.2/spring-boot-devtools-2.6.2-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\a_fattahi\\.m2\\repository\\org\\springframework\\boot\\spring-boot\\2.6.2\\spring-boot-2.6.2.jar","sourceContainerUrl":"file:/C:/Users/a_fattahi/.m2/repository/org/springframework/boot/spring-boot/2.6.2/spring-boot-2.6.2-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\a_fattahi\\.m2\\repository\\org\\springframework\\boot\\spring-boot-autoconfigure\\2.6.2\\spring-boot-autoconfigure-2.6.2.jar","sourceContainerUrl":"file:/C:/Users/a_fattahi/.m2/repository/org/springframework/boot/spring-boot-autoconfigure/2.6.2/spring-boot-autoconfigure-2.6.2-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\a_fattahi\\.m2\\repository\\org\\springframework\\boot\\spring-boot-starter-test\\2.6.2\\spring-boot-starter-test-2.6.2.jar","sourceContainerUrl":"file:/C:/Users/a_fattahi/.m2/repository/org/springframework/boot/spring-boot-starter-test/2.6.2/spring-boot-starter-test-2.6.2-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\a_fattahi\\.m2\\repository\\org\\springframework\\boot\\spring-boot-test\\2.6.2\\spring-boot-test-2.6.2.jar","sourceContainerUrl":"file:/C:/Users/a_fattahi/.m2/repository/org/springframework/boot/spring-boot-test/2.6.2/spring-boot-test-2.6.2-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\a_fattahi\\.m2\\repository\\org\\springframework\\boot\\spring-boot-test-autoconfigure\\2.6.2\\spring-boot-test-autoconfigure-2.6.2.jar","sourceContainerUrl":"file:/C:/Users/a_fattahi/.m2/repository/org/springframework/boot/spring-boot-test-autoconfigure/2.6.2/spring-boot-test-autoconfigure-2.6.2-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\a_fattahi\\.m2\\repository\\com\\jayway\\jsonpath\\json-path\\2.6.0\\json-path-2.6.0.jar","sourceContainerUrl":"file:/C:/Users/a_fattahi/.m2/repository/com/jayway/jsonpath/json-path/2.6.0/json-path-2.6.0-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\a_fattahi\\.m2\\repository\\net\\minidev\\json-smart\\2.4.7\\json-smart-2.4.7.jar","sourceContainerUrl":"file:/C:/Users/a_fattahi/.m2/repository/net/minidev/json-smart/2.4.7/json-smart-2.4.7-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\a_fattahi\\.m2\\repository\\net\\minidev\\accessors-smart\\2.4.7\\accessors-smart-2.4.7.jar","sourceContainerUrl":"file:/C:/Users/a_fattahi/.m2/repository/net/minidev/accessors-smart/2.4.7/accessors-smart-2.4.7-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\a_fattahi\\.m2\\repository\\org\\ow2\\asm\\asm\\9.1\\asm-9.1.jar","sourceContainerUrl":"file:/C:/Users/a_fattahi/.m2/repository/org/ow2/asm/asm/9.1/asm-9.1-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\a_fattahi\\.m2\\repository\\org\\slf4j\\slf4j-api\\1.7.32\\slf4j-api-1.7.32.jar","sourceContainerUrl":"file:/C:/Users/a_fattahi/.m2/repository/org/slf4j/slf4j-api/1.7.32/slf4j-api-1.7.32-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\a_fattahi\\.m2\\repository\\jakarta\\xml\\bind\\jakarta.xml.bind-api\\2.3.3\\jakarta.xml.bind-api-2.3.3.jar","sourceContainerUrl":"file:/C:/Users/a_fattahi/.m2/repository/jakarta/xml/bind/jakarta.xml.bind-api/2.3.3/jakarta.xml.bind-api-2.3.3-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\a_fattahi\\.m2\\repository\\jakarta\\activation\\jakarta.activation-api\\1.2.2\\jakarta.activation-api-1.2.2.jar","sourceContainerUrl":"file:/C:/Users/a_fattahi/.m2/repository/jakarta/activation/jakarta.activation-api/1.2.2/jakarta.activation-api-1.2.2-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\a_fattahi\\.m2\\repository\\org\\assertj\\assertj-core\\3.21.0\\assertj-core-3.21.0.jar","sourceContainerUrl":"file:/C:/Users/a_fattahi/.m2/repository/org/assertj/assertj-core/3.21.0/assertj-core-3.21.0-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\a_fattahi\\.m2\\repository\\org\\hamcrest\\hamcrest\\2.2\\hamcrest-2.2.jar","sourceContainerUrl":"file:/C:/Users/a_fattahi/.m2/repository/org/hamcrest/hamcrest/2.2/hamcrest-2.2-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\a_fattahi\\.m2\\repository\\org\\junit\\jupiter\\junit-jupiter\\5.8.2\\junit-jupiter-5.8.2.jar","sourceContainerUrl":"file:/C:/Users/a_fattahi/.m2/repository/org/junit/jupiter/junit-jupiter/5.8.2/junit-jupiter-5.8.2-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\a_fattahi\\.m2\\repository\\org\\junit\\jupiter\\junit-jupiter-api\\5.8.2\\junit-jupiter-api-5.8.2.jar","sourceContainerUrl":"file:/C:/Users/a_fattahi/.m2/repository/org/junit/jupiter/junit-jupiter-api/5.8.2/junit-jupiter-api-5.8.2-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\a_fattahi\\.m2\\repository\\org\\opentest4j\\opentest4j\\1.2.0\\opentest4j-1.2.0.jar","sourceContainerUrl":"file:/C:/Users/a_fattahi/.m2/repository/org/opentest4j/opentest4j/1.2.0/opentest4j-1.2.0-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\a_fattahi\\.m2\\repository\\org\\junit\\platform\\junit-platform-commons\\1.8.2\\junit-platform-commons-1.8.2.jar","sourceContainerUrl":"file:/C:/Users/a_fattahi/.m2/repository/org/junit/platform/junit-platform-commons/1.8.2/junit-platform-commons-1.8.2-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\a_fattahi\\.m2\\repository\\org\\apiguardian\\apiguardian-api\\1.1.2\\apiguardian-api-1.1.2.jar","sourceContainerUrl":"file:/C:/Users/a_fattahi/.m2/repository/org/apiguardian/apiguardian-api/1.1.2/apiguardian-api-1.1.2-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\a_fattahi\\.m2\\repository\\org\\junit\\jupiter\\junit-jupiter-params\\5.8.2\\junit-jupiter-params-5.8.2.jar","sourceContainerUrl":"file:/C:/Users/a_fattahi/.m2/repository/org/junit/jupiter/junit-jupiter-params/5.8.2/junit-jupiter-params-5.8.2-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\a_fattahi\\.m2\\repository\\org\\junit\\jupiter\\junit-jupiter-engine\\5.8.2\\junit-jupiter-engine-5.8.2.jar","sourceContainerUrl":"file:/C:/Users/a_fattahi/.m2/repository/org/junit/jupiter/junit-jupiter-engine/5.8.2/junit-jupiter-engine-5.8.2-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\a_fattahi\\.m2\\repository\\org\\junit\\platform\\junit-platform-engine\\1.8.2\\junit-platform-engine-1.8.2.jar","sourceContainerUrl":"file:/C:/Users/a_fattahi/.m2/repository/org/junit/platform/junit-platform-engine/1.8.2/junit-platform-engine-1.8.2-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\a_fattahi\\.m2\\repository\\org\\mockito\\mockito-core\\4.0.0\\mockito-core-4.0.0.jar","sourceContainerUrl":"file:/C:/Users/a_fattahi/.m2/repository/org/mockito/mockito-core/4.0.0/mockito-core-4.0.0-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\a_fattahi\\.m2\\repository\\net\\bytebuddy\\byte-buddy\\1.11.22\\byte-buddy-1.11.22.jar","sourceContainerUrl":"file:/C:/Users/a_fattahi/.m2/repository/net/bytebuddy/byte-buddy/1.11.22/byte-buddy-1.11.22-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\a_fattahi\\.m2\\repository\\net\\bytebuddy\\byte-buddy-agent\\1.11.22\\byte-buddy-agent-1.11.22.jar","sourceContainerUrl":"file:/C:/Users/a_fattahi/.m2/repository/net/bytebuddy/byte-buddy-agent/1.11.22/byte-buddy-agent-1.11.22-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\a_fattahi\\.m2\\repository\\org\\objenesis\\objenesis\\3.2\\objenesis-3.2.jar","sourceContainerUrl":"file:/C:/Users/a_fattahi/.m2/repository/org/objenesis/objenesis/3.2/objenesis-3.2-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\a_fattahi\\.m2\\repository\\org\\mockito\\mockito-junit-jupiter\\4.0.0\\mockito-junit-jupiter-4.0.0.jar","sourceContainerUrl":"file:/C:/Users/a_fattahi/.m2/repository/org/mockito/mockito-junit-jupiter/4.0.0/mockito-junit-jupiter-4.0.0-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\a_fattahi\\.m2\\repository\\org\\skyscreamer\\jsonassert\\1.5.0\\jsonassert-1.5.0.jar","sourceContainerUrl":"file:/C:/Users/a_fattahi/.m2/repository/org/skyscreamer/jsonassert/1.5.0/jsonassert-1.5.0-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\a_fattahi\\.m2\\repository\\com\\vaadin\\external\\google\\android-json\\0.0.20131108.vaadin1\\android-json-0.0.20131108.vaadin1.jar","sourceContainerUrl":"file:/C:/Users/a_fattahi/.m2/repository/com/vaadin/external/google/android-json/0.0.20131108.vaadin1/android-json-0.0.20131108.vaadin1-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\a_fattahi\\.m2\\repository\\org\\springframework\\spring-core\\5.3.14\\spring-core-5.3.14.jar","sourceContainerUrl":"file:/C:/Users/a_fattahi/.m2/repository/org/springframework/spring-core/5.3.14/spring-core-5.3.14-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\a_fattahi\\.m2\\repository\\org\\springframework\\spring-jcl\\5.3.14\\spring-jcl-5.3.14.jar","sourceContainerUrl":"file:/C:/Users/a_fattahi/.m2/repository/org/springframework/spring-jcl/5.3.14/spring-jcl-5.3.14-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\a_fattahi\\.m2\\repository\\org\\springframework\\spring-test\\5.3.14\\spring-test-5.3.14.jar","sourceContainerUrl":"file:/C:/Users/a_fattahi/.m2/repository/org/springframework/spring-test/5.3.14/spring-test-5.3.14-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\a_fattahi\\.m2\\repository\\org\\xmlunit\\xmlunit-core\\2.8.4\\xmlunit-core-2.8.4.jar","sourceContainerUrl":"file:/C:/Users/a_fattahi/.m2/repository/org/xmlunit/xmlunit-core/2.8.4/xmlunit-core-2.8.4-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"source","path":"D:\\RD\\Spring\\workspace\\sample\\target\\generated-sources\\annotations","outputFolder":"D:\\RD\\Spring\\workspace\\sample\\target\\classes","isSystem":false,"isOwn":true,"isTest":false,"isJavaContent":false},{"kind":"source","path":"D:\\RD\\Spring\\workspace\\sample\\target\\generated-test-sources\\test-annotations","outputFolder":"D:\\RD\\Spring\\workspace\\sample\\target\\test-classes","isSystem":false,"isOwn":true,"isTest":true,"isJavaContent":false}]}]]}}
[t=1641882903655] org.eclipse.languageserver.languages.springboot to LSP4E:
{"jsonrpc":"2.0","id":"5","result":"done"}
[t=1641882903669] LSP4E to org.eclipse.languageserver.languages.springboot:
Content-Length: 190

[t=1641882903682] LSP4E to org.eclipse.languageserver.languages.springboot:
{"jsonrpc":"2.0","id":"6","method":"textDocument/codeLens","params":{"textDocument":{"uri":"file:///D:/RD/Spring/workspace/sample/src/main/java/ir/freelancer/wenex/SampleApplication.java"}}}
[t=1641882904375] org.eclipse.languageserver.languages.springboot to LSP4E:
{"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///D:/RD/Spring/workspace/sample/src/main/java/ir/freelancer/wenex/SampleApplication.java","diagnostics":[]}}
[t=1641882904403] org.eclipse.languageserver.languages.springboot to LSP4E:
{"jsonrpc":"2.0","id":"6","result":[]}
[t=1641882923259] LSP4E to org.eclipse.languageserver.languages.springboot:
Content-Length: 326

[t=1641882923260] LSP4E to org.eclipse.languageserver.languages.springboot:
{"jsonrpc":"2.0","id":"7","method":"textDocument/hover","params":{"textDocument":{"uri":"file:///D:/RD/Spring/workspace/sample/src/main/java/ir/freelancer/wenex/SampleApplication.java"},"uri":"file:///D:/RD/Spring/workspace/sample/src/main/java/ir/freelancer/wenex/SampleApplication.java","position":{"line":5,"character":1}}}
[t=1641882923284] org.eclipse.languageserver.languages.springboot to LSP4E:
{"jsonrpc":"2.0","id":"7","result":{"contents":[]}}
[t=1641882929070] LSP4E to org.eclipse.languageserver.languages.springboot:
Content-Length: 76

[t=1641882929071] LSP4E to org.eclipse.languageserver.languages.springboot:
{"jsonrpc":"2.0","id":"8","method":"workspace/symbol","params":{"query":""}}
[t=1641882929079] org.eclipse.languageserver.languages.springboot to LSP4E:
{"jsonrpc":"2.0","id":"8","result":[{"name":"@+ \u0027sampleApplication\u0027 (@SpringBootApplication \u003c: @SpringBootConfiguration, @Configuration, @Component) SampleApplication","kind":11,"location":{"uri":"file:///D:/RD/Spring/workspace/sample/src/main/java/ir/freelancer/wenex/SampleApplication.java","range":{"start":{"line":5,"character":0},"end":{"line":5,"character":22}}}},{"name":"@+ \u0027simpleController\u0027 (@Controller \u003c: @Component) SimpleController","kind":11,"location":{"uri":"file:///D:/RD/Spring/workspace/sample/src/main/java/ir/freelancer/wenex/controllers/SimpleController.java","range":{"start":{"line":5,"character":0},"end":{"line":5,"character":11}}}},{"name":"@/test -- GET","kind":11,"location":{"uri":"file:///D:/RD/Spring/workspace/sample/src/main/java/ir/freelancer/wenex/controllers/SimpleController.java","range":{"start":{"line":9,"character":4},"end":{"line":9,"character":24}}}}]}

I see these in property and spring symbols

image

image

But high lighting does not work image

Thanks

BoykoAlex commented 2 years ago

Do you start STS with java 17 JRE or JDK? Seems to me that D:\RD\Spring\sts-4.13.0.RELEASE\\plugins/org.eclipse.justj.openjdk.hotspot.jre.full.win32.x86_64_17.0.1.v20211116-1657 is a path to JRE. Can you perhaps point your vm arg to JDK? Live hovers and highlights require Spring Boot LS process to be run with JDK.

martinlippert commented 2 years ago

The mentioned JRE is the one that we ship embedded in the STS4 distribution and contains the full profile, so that should be fine.

martinlippert commented 2 years ago

It looks to me like the language server is running just fine behind the scenes.

The log that you posted above is from the communication with the language server, it is not the log output of the language server process itself. Can you enable that Spring Boot language server specific logging like described here: https://github.com/spring-projects/sts4/issues/712#issuecomment-1008657386

Also what happens if you select the project in the boot dashboard and then click on the lightbulb icon? Is there any process showing up in the dropdown then?

And when you open the launch config of the project, is the "Enable JMX" checkbox checked? This is the case by default, but when you launch the app in a different way, the Spring Boot application doesn't enable JMX by default and therefore doesn't expose the necessary actuator information for the tools (like described here: https://github.com/spring-projects/sts4/wiki/Live-Application-Information#spring-boot-22-and-beyond)

martinlippert commented 1 year ago

This might be related to some blocking threads that are waiting on the running java processes to respond and therefore, after a while, blocking all available threads that can be used to fetch liver hover information. I fixed that problem a while ago, so this issue is most likely solved already for quite some time. Therefore, closing this one here. Thanks again @afattahi54 for all the details that you provided back then.