marcelkliemannel / intellij-developer-tools-plugin

This plugin is a powerful and versatile set of tools designed to enhance the development experience for software engineers. With its extensive collection of features, developers can increase their productivity and simplify complex operations without leaving their coding environment.
Apache License 2.0
175 stars 14 forks source link

JWT tool not working. Plugin exception: java.lang.ClassNotFoundException: com.intellij.json.JsonLanguage #58

Open marchrius opened 1 month ago

marchrius commented 1 month ago

I'm new with this tool. I've installed on WebStorm Client 2024.1.5 (Gateway 2024.1.2) and tried to use on a client connected to a remove vm.

This is the log / stack trace.

2024-07-22 09:43:49,601 [ 239342]   INFO - #c.j.t.s.FrontendIdeFrameSynchronizer - Sending window event java.awt.event.WindowEvent[WINDOW_GAINED_FOCUS,opposite=null,oldState=0,newState=0] on frame0 to IdeFrame frame0
2024-07-22 09:43:49,696 [ 239437] SEVERE - #o.j.c.AsyncPromise - com/intellij/json/JsonLanguage
java.lang.NoClassDefFoundError: com/intellij/json/JsonLanguage
    at dev.turingcomplete.intellijdevelopertoolsplugin._internal.tool.ui.converter.JwtEncoderDecoder.createHeaderEditor(JwtEncoderDecoder.kt:413)
    at dev.turingcomplete.intellijdevelopertoolsplugin._internal.tool.ui.converter.JwtEncoderDecoder.access$createHeaderEditor(JwtEncoderDecoder.kt:94)
    at dev.turingcomplete.intellijdevelopertoolsplugin._internal.tool.ui.converter.JwtEncoderDecoder$headerEditor$2.invoke(JwtEncoderDecoder.kt:114)
    at dev.turingcomplete.intellijdevelopertoolsplugin._internal.tool.ui.converter.JwtEncoderDecoder$headerEditor$2.invoke(JwtEncoderDecoder.kt:114)
    at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74)
    at dev.turingcomplete.intellijdevelopertoolsplugin._internal.tool.ui.converter.JwtEncoderDecoder.getHeaderEditor(JwtEncoderDecoder.kt:114)
    at dev.turingcomplete.intellijdevelopertoolsplugin._internal.tool.ui.converter.JwtEncoderDecoder.access$getHeaderEditor(JwtEncoderDecoder.kt:94)
    at dev.turingcomplete.intellijdevelopertoolsplugin._internal.tool.ui.converter.JwtEncoderDecoder$createHeaderEditorComponent$1$1.invoke(JwtEncoderDecoder.kt:276)
    at dev.turingcomplete.intellijdevelopertoolsplugin._internal.tool.ui.converter.JwtEncoderDecoder$createHeaderEditorComponent$1$1.invoke(JwtEncoderDecoder.kt:275)
    at com.intellij.ui.dsl.builder.impl.PanelImpl.row(PanelImpl.kt:57)
    at com.intellij.ui.dsl.builder.impl.PanelImpl.row(PanelImpl.kt:19)
    at com.intellij.ui.dsl.builder.Panel.row$default(Panel.kt:75)
    at dev.turingcomplete.intellijdevelopertoolsplugin._internal.tool.ui.converter.JwtEncoderDecoder$createHeaderEditorComponent$1.invoke(JwtEncoderDecoder.kt:275)
    at dev.turingcomplete.intellijdevelopertoolsplugin._internal.tool.ui.converter.JwtEncoderDecoder$createHeaderEditorComponent$1.invoke(JwtEncoderDecoder.kt:274)
    at com.intellij.ui.dsl.builder.BuilderKt.panel(builder.kt:19)
    at dev.turingcomplete.intellijdevelopertoolsplugin._internal.tool.ui.converter.JwtEncoderDecoder.createHeaderEditorComponent(JwtEncoderDecoder.kt:274)
    at dev.turingcomplete.intellijdevelopertoolsplugin._internal.tool.ui.converter.JwtEncoderDecoder.access$createHeaderEditorComponent(JwtEncoderDecoder.kt:94)
    at dev.turingcomplete.intellijdevelopertoolsplugin._internal.tool.ui.converter.JwtEncoderDecoder$createEncodingDecodingComponent$1$3.invoke(JwtEncoderDecoder.kt:196)
    at dev.turingcomplete.intellijdevelopertoolsplugin._internal.tool.ui.converter.JwtEncoderDecoder$createEncodingDecodingComponent$1$3.invoke(JwtEncoderDecoder.kt:193)
    at com.intellij.ui.dsl.builder.impl.PanelImpl.row(PanelImpl.kt:57)
    at com.intellij.ui.dsl.builder.impl.PanelImpl.row(PanelImpl.kt:19)
    at com.intellij.ui.dsl.builder.Panel.row$default(Panel.kt:75)
    at dev.turingcomplete.intellijdevelopertoolsplugin._internal.tool.ui.converter.JwtEncoderDecoder$createEncodingDecodingComponent$1.invoke(JwtEncoderDecoder.kt:193)
    at dev.turingcomplete.intellijdevelopertoolsplugin._internal.tool.ui.converter.JwtEncoderDecoder$createEncodingDecodingComponent$1.invoke(JwtEncoderDecoder.kt:167)
    at com.intellij.ui.dsl.builder.BuilderKt.panel(builder.kt:19)
    at dev.turingcomplete.intellijdevelopertoolsplugin._internal.tool.ui.converter.JwtEncoderDecoder.createEncodingDecodingComponent(JwtEncoderDecoder.kt:167)
    at dev.turingcomplete.intellijdevelopertoolsplugin._internal.tool.ui.converter.JwtEncoderDecoder.access$createEncodingDecodingComponent(JwtEncoderDecoder.kt:94)
    at dev.turingcomplete.intellijdevelopertoolsplugin._internal.tool.ui.converter.JwtEncoderDecoder$buildUi$1.invoke(JwtEncoderDecoder.kt:140)
    at dev.turingcomplete.intellijdevelopertoolsplugin._internal.tool.ui.converter.JwtEncoderDecoder$buildUi$1.invoke(JwtEncoderDecoder.kt:136)
    at com.intellij.ui.dsl.builder.impl.PanelImpl.row(PanelImpl.kt:57)
    at com.intellij.ui.dsl.builder.impl.PanelImpl.row(PanelImpl.kt:19)
    at com.intellij.ui.dsl.builder.Panel.row$default(Panel.kt:75)
    at dev.turingcomplete.intellijdevelopertoolsplugin._internal.tool.ui.converter.JwtEncoderDecoder.buildUi(JwtEncoderDecoder.kt:136)
    at dev.turingcomplete.intellijdevelopertoolsplugin.DeveloperUiTool$createComponent$1.invoke(DeveloperUiTool.kt:31)
    at dev.turingcomplete.intellijdevelopertoolsplugin.DeveloperUiTool$createComponent$1.invoke(DeveloperUiTool.kt:30)
    at com.intellij.ui.dsl.builder.BuilderKt.panel(builder.kt:19)
    at dev.turingcomplete.intellijdevelopertoolsplugin.DeveloperUiTool.createComponent(DeveloperUiTool.kt:30)
    at dev.turingcomplete.intellijdevelopertoolsplugin._internal.ui.content.DeveloperToolContentPanel.addWorkbench(DeveloperToolContentPanel.kt:140)
    at dev.turingcomplete.intellijdevelopertoolsplugin._internal.ui.content.DeveloperToolContentPanel.createMainContent(DeveloperToolContentPanel.kt:113)
    at dev.turingcomplete.intellijdevelopertoolsplugin._internal.ui.content.DeveloperToolContentPanel.<init>(DeveloperToolContentPanel.kt:49)
    at dev.turingcomplete.intellijdevelopertoolsplugin._internal.ui.content.ContentPanelHandler.createDeveloperToolContentPanel(ContentPanelHandler.kt:75)
    at dev.turingcomplete.intellijdevelopertoolsplugin._internal.ui.content.ContentPanelHandler.handleContentNodeSelection(ContentPanelHandler.kt:100)
    at dev.turingcomplete.intellijdevelopertoolsplugin._internal.ui.content.ContentPanelHandler$1.invoke(ContentPanelHandler.kt:52)
    at dev.turingcomplete.intellijdevelopertoolsplugin._internal.ui.content.ContentPanelHandler$1.invoke(ContentPanelHandler.kt:52)
    at dev.turingcomplete.intellijdevelopertoolsplugin._internal.ui.menu.ToolsMenuTree.createTreeSelectionListener$lambda$18(ToolsMenuTree.kt:250)
    at java.desktop/javax.swing.JTree.fireValueChanged(JTree.java:3021)
    at java.desktop/javax.swing.JTree$TreeSelectionRedirector.valueChanged(JTree.java:3522)
    at java.desktop/javax.swing.tree.DefaultTreeSelectionModel.fireValueChanged(DefaultTreeSelectionModel.java:650)
    at com.intellij.ui.treeStructure.Tree$MySelectionModel.fireValueChanged(Tree.java:783)
    at java.desktop/javax.swing.tree.DefaultTreeSelectionModel.notifyPathChange(DefaultTreeSelectionModel.java:1120)
    at java.desktop/javax.swing.tree.DefaultTreeSelectionModel.setSelectionPaths(DefaultTreeSelectionModel.java:306)
    at java.desktop/javax.swing.JTree.setSelectionPaths(JTree.java:1723)
    at java.desktop/javax.swing.JTree.setSelectionRows(JTree.java:1806)
    at java.desktop/javax.swing.JTree.setSelectionRow(JTree.java:1781)
    at com.intellij.util.ui.tree.TreeUtil.lambda$showAndSelect$9(TreeUtil.java:638)
    at com.intellij.util.ui.tree.TreeUtil.showAndSelect(TreeUtil.java:687)
    at com.intellij.util.ui.tree.TreeUtil.showRowCentered(TreeUtil.java:587)
    at com.intellij.util.ui.tree.TreeUtil.showRowCentered(TreeUtil.java:579)
    at com.intellij.util.ui.tree.TreeUtil.showRowCentred(TreeUtil.java:575)
    at com.intellij.util.ui.tree.TreeUtil.selectPath(TreeUtil.java:513)
    at com.intellij.util.ui.tree.TreeUtil.selectPath(TreeUtil.java:499)
    at com.intellij.util.ui.tree.TreeUtil.selectNode(TreeUtil.java:938)
    at dev.turingcomplete.intellijdevelopertoolsplugin._internal.ui.menu.ToolsMenuTree$selectInitiallySelectedDeveloperToolNode$1$2.invoke(ToolsMenuTree.kt:222)
    at dev.turingcomplete.intellijdevelopertoolsplugin._internal.ui.menu.ToolsMenuTree$selectInitiallySelectedDeveloperToolNode$1$2.invoke(ToolsMenuTree.kt:220)
    at dev.turingcomplete.intellijdevelopertoolsplugin._internal.ui.menu.ToolsMenuTree.selectInitiallySelectedDeveloperToolNode$lambda$13$lambda$12(ToolsMenuTree.kt:220)
    at org.jetbrains.concurrency.AsyncPromise.onSuccess$lambda$3(AsyncPromise.kt:87)
    at com.intellij.util.concurrency.ContextBiConsumer.accept(ContextBiConsumer.java:33)
    at org.jetbrains.concurrency.AsyncPromise$whenComplete$1.invoke(AsyncPromise.kt:114)
    at org.jetbrains.concurrency.AsyncPromise$whenComplete$1.invoke(AsyncPromise.kt:112)
    at org.jetbrains.concurrency.AsyncPromise.whenComplete$lambda$6(AsyncPromise.kt:112)
    at java.base/java.util.concurrent.CompletableFuture.uniHandle(CompletableFuture.java:934)
    at java.base/java.util.concurrent.CompletableFuture.uniHandleStage(CompletableFuture.java:950)
    at java.base/java.util.concurrent.CompletableFuture.handle(CompletableFuture.java:2340)
    at org.jetbrains.concurrency.AsyncPromise.whenComplete(AsyncPromise.kt:112)
    at org.jetbrains.concurrency.AsyncPromise.onSuccess(AsyncPromise.kt:85)
    at org.jetbrains.concurrency.AsyncPromise.onSuccess(AsyncPromise.kt:21)
    at dev.turingcomplete.intellijdevelopertoolsplugin._internal.ui.menu.ToolsMenuTree.selectInitiallySelectedDeveloperToolNode(ToolsMenuTree.kt:220)
    at dev.turingcomplete.intellijdevelopertoolsplugin._internal.ui.menu.ToolsMenuTree.<init>(ToolsMenuTree.kt:84)
    at dev.turingcomplete.intellijdevelopertoolsplugin._internal.ui.content.ContentPanelHandler.<init>(ContentPanelHandler.kt:46)
    at dev.turingcomplete.intellijdevelopertoolsplugin._internal.ui.content.ContentPanelHandler.<init>(ContentPanelHandler.kt:21)
    at dev.turingcomplete.intellijdevelopertoolsplugin._internal.ui.instance.dialog.MainDialog.<init>(MainDialog.kt:32)
    at dev.turingcomplete.intellijdevelopertoolsplugin._internal.ui.instance.dialog.MainDialogService.openDialog(MainDialogService.kt:26)
    at dev.turingcomplete.intellijdevelopertoolsplugin._internal.ui.instance.dialog.OpenMainDialogAction.actionPerformed(OpenMainDialogAction.kt:17)
    at com.intellij.openapi.actionSystem.impl.ActionButton.actionPerformed(ActionButton.java:234)
    at com.intellij.openapi.actionSystem.impl.ActionButton.lambda$performAction$2(ActionButton.java:213)
    at com.intellij.openapi.actionSystem.impl.ActionManagerImpl.performWithActionCallbacks(ActionManagerImpl.kt:1166)
    at com.intellij.openapi.actionSystem.ex.ActionUtil.performDumbAwareWithCallbacks(ActionUtil.kt:321)
    at com.intellij.openapi.actionSystem.impl.ActionButton.performAction(ActionButton.java:213)
    at com.intellij.openapi.actionSystem.impl.ActionButton.processMouseEvent(ActionButton.java:531)
    at java.desktop/java.awt.Component.processEvent(Component.java:6422)
    at java.desktop/java.awt.Container.processEvent(Container.java:2266)
    at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5027)
    at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324)
    at java.desktop/java.awt.Component.dispatchEvent(Component.java:4855)
    at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4969)
    at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4583)
    at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4524)
    at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2310)
    at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2809)
    at java.desktop/java.awt.Component.dispatchEvent(Component.java:4855)
    at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:794)
    at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:739)
    at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:733)
    at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97)
    at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:766)
    at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:764)
    at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
    at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:763)
    at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.kt:699)
    at com.intellij.ide.IdeEventQueue.dispatchMouseEvent(IdeEventQueue.kt:638)
    at com.intellij.ide.IdeEventQueue._dispatchEvent$lambda$10(IdeEventQueue.kt:584)
    at com.intellij.openapi.application.impl.RwLockHolder.runWithEnabledImplicitRead(RwLockHolder.kt:138)
    at com.intellij.openapi.application.impl.RwLockHolder.runWithImplicitRead(RwLockHolder.kt:129)
    at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.kt:584)
    at com.intellij.ide.IdeEventQueue.access$_dispatchEvent(IdeEventQueue.kt:77)
    at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:362)
    at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:361)
    at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:843)
    at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:361)
    at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:356)
    at com.intellij.ide.IdeEventQueueKt.performActivity$lambda$1(IdeEventQueue.kt:1022)
    at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:114)
    at com.intellij.ide.IdeEventQueueKt.performActivity(IdeEventQueue.kt:1022)
    at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$7(IdeEventQueue.kt:356)
    at com.intellij.openapi.application.impl.RwLockHolder.runIntendedWriteActionOnCurrentThread(RwLockHolder.kt:209)
    at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:830)
    at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.kt:398)
    at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:207)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
    at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:92)
Caused by: java.lang.ClassNotFoundException: com.intellij.json.JsonLanguage PluginClassLoader(plugin=PluginDescriptor(name=Developer Tools, id=dev.turingcomplete.intellijdevelopertoolsplugins, descriptorPath=plugin.xml, path=~/.local/share/JetBrains/JetBrainsClient241.18034.50/intellij-developer-tools-plugin, version=4.3.0, package=null, isBundled=false), packagePrefix=null, state=active)
    ... 136 more
2024-07-22 09:43:49,698 [ 239439] SEVERE - #o.j.c.AsyncPromise - WebStorm 2024.1.5  Build #JBC-241.18034.50
2024-07-22 09:43:49,698 [ 239439] SEVERE - #o.j.c.AsyncPromise - JDK: 17.0.11; VM: OpenJDK 64-Bit Server VM; Vendor: JetBrains s.r.o.
2024-07-22 09:43:49,698 [ 239439] SEVERE - #o.j.c.AsyncPromise - OS: Linux
2024-07-22 09:43:49,698 [ 239439] SEVERE - #o.j.c.AsyncPromise - Plugin to blame: Developer Tools version: 4.3.0
2024-07-22 09:43:49,698 [ 239439] SEVERE - #o.j.c.AsyncPromise - Last Action: dev.turingcomplete.intellijdevelopertoolsplugin._internal.ui.instance.dialog.OpenMainDialogAction
2024-07-22 09:43:49,750 [ 239491]   INFO - #c.j.t.s.FrontendIdeFrameSynchronizer - Sending window event java.awt.event.WindowEvent[WINDOW_LOST_FOCUS,opposite=com.intellij.openapi.ui.impl.DialogWrapperPeerImpl$MyDialog[dialog4,4645,354,950x991,invalid,layout=java.awt.BorderLayout,MODELESS,title=Developer Tools,defaultCloseOperation=DO_NOTHING_ON_CLOSE,rootPane=com.intellij.openapi.ui.impl.DialogWrapperPeerImpl$MyDialog$DialogRootPane[,0,0,950x991,invalid,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=449,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true],oldState=0,newState=0] on frame0 to IdeFrame frame0
marcelkliemannel commented 1 month ago

I can reproduce this if the plugin is installed on the client side, but it will work if installed on the host side. Did you also installed it on the client side?

Screenshot 2024-07-29 at 20 12 10

Unfortunately, the plugin will not work on the client side because the JetBrains thin client is missing a lot of code compared to a real installation.