Skip to content

java.lang.NoClassDefFoundError in 3.0.12 #37

Description

@tit

Exception when using CamelCase plugin hotkey in WebStorm 2026.2.1

Environment

  • IDE: WebStorm 2026.2.1
  • Build: WS-262.9437.145
  • OS: macOS 26.6.2
  • Architecture: Apple Silicon (aarch64)
  • Runtime: OpenJDK 25.0.3+9-b508.16
  • Plugin: CamelCase 3.0.12
  • Plugin ID: de.netnexus.camelcaseplugin
  • JCEF: 144.0.15-262-b37
  • Memory: 4096 MiB
  • CPU cores: 8
  • Metal Rendering: ON

Description

When I use the keyboard shortcut provided by the CamelCase plugin to convert the case of the selected text, WebStorm throws an exception.

The issue occurs when invoking the case conversion action via the keyboard shortcut. The conversion does not work and an exception is reported by WebStorm.

Steps to reproduce

  1. Open WebStorm 2026.2.1.

  2. Open any JavaScript/TypeScript file.

  3. Select a piece of text, for example:

    myVariableName
    
  4. Invoke the CamelCase plugin's case conversion action using its configured keyboard shortcut.

  5. WebStorm throws an exception.

Expected behavior

The selected text should be converted to the requested case without any exception.

Actual behavior

An exception is thrown when the keyboard shortcut is invoked.

Additional information

WebStorm's exception reporter generated the following ID:

01122423f255a35-adb2-4b4f-824b-2ae7e6011e5d

Installed non-bundled plugins

  • CamelCase 3.0.12
  • Solarized 3.0.1
  • Docker 262.9437.196
  • XPathView 262.8665.176
  • Properties 262.8665.173
  • Aqua 262.8665.176
  • Cyberpunk Neon Theme 1.0.5
  • LSP4IJ 0.20.1
  • MCP Server 262.9437.214

If needed, I can provide the full exception stack trace from the WebStorm log.

java.lang.NoClassDefFoundError: org/apache/commons/lang/WordUtils
	at de.netnexus.CamelCasePlugin.Conversion.transform(Conversion.java:68)
	at de.netnexus.CamelCasePlugin.CamelCaseEditorActionHandler.beforeWriteAction(CamelCaseEditorActionHandler.java:102)
	at de.netnexus.CamelCasePlugin.CamelCaseEditorActionHandler.doExecute(CamelCaseEditorActionHandler.java:46)
	at com.intellij.openapi.editor.actionSystem.DynamicEditorActionHandler.doExecute(DynamicEditorActionHandler.java:68)
	at com.intellij.openapi.editor.actionSystem.EditorActionHandler.lambda$execute$1(EditorActionHandler.java:208)
	at com.intellij.openapi.editor.actionSystem.EditorActionHandler.doIfEnabled(EditorActionHandler.java:95)
	at com.intellij.openapi.editor.actionSystem.EditorActionHandler.lambda$execute$0(EditorActionHandler.java:207)
	at com.intellij.openapi.editor.impl.CaretModelImpl.lambda$runForEachCaret$0(CaretModelImpl.java:320)
	at com.intellij.openapi.editor.impl.CaretModelImpl.doWithCaretMerging(CaretModelImpl.java:432)
	at com.intellij.openapi.editor.impl.CaretModelImpl.runForEachCaret(CaretModelImpl.java:330)
	at com.intellij.openapi.editor.actionSystem.EditorActionHandler.execute(EditorActionHandler.java:205)
	at com.intellij.openapi.editor.actionSystem.EditorAction.executeHandler(EditorAction.java:187)
	at com.intellij.openapi.editor.actionSystem.EditorAction.lambda$actionPerformed$1(EditorAction.java:122)
	at com.intellij.openapi.command.impl.CoreCommandProcessor.lambda$executeCommand$0(CoreCommandProcessor.java:142)
	at com.intellij.openapi.command.impl.CoreCommandProcessor.runCommandTask(CoreCommandProcessor.java:403)
	at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:157)
	at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:80)
	at com.intellij.openapi.editor.actionSystem.EditorAction.actionPerformed(EditorAction.java:120)
	at com.intellij.openapi.editor.actionSystem.EditorAction.lambda$actionPerformed$0(EditorAction.java:101)
	at com.intellij.openapi.application.WriteIntentReadAction.lambda$run$0(WriteIntentReadAction.java:24)
	at com.intellij.openapi.application.ThrowableComputableToLambda.invoke(coroutines.kt:351)
	at com.intellij.platform.locking.impl.NestedLocksThreadingSupport.runWriteIntentReadAction(NestedLocksThreadingSupport.kt:710)
	at com.intellij.openapi.application.impl.ApplicationImpl.runWriteIntentReadAction(ApplicationImpl.java:1226)
	at com.intellij.openapi.application.WriteIntentReadAction.computeThrowable(WriteIntentReadAction.java:55)
	at com.intellij.openapi.application.WriteIntentReadAction.run(WriteIntentReadAction.java:23)
	at com.intellij.openapi.editor.actionSystem.EditorAction.actionPerformed(EditorAction.java:100)
	at com.intellij.openapi.actionSystem.ex.ActionUtil.doPerformActionOrShowPopup(ActionUtil.kt:467)
	at com.intellij.openapi.keymap.impl.ActionProcessor.performAction$lambda$0(ActionProcessor.kt:35)
	at com.intellij.openapi.application.WriteIntentReadAction.lambda$run$0(WriteIntentReadAction.java:24)
	at com.intellij.openapi.application.ThrowableComputableToLambda.invoke(coroutines.kt:351)
	at com.intellij.platform.locking.impl.NestedLocksThreadingSupport.runWriteIntentReadAction(NestedLocksThreadingSupport.kt:710)
	at com.intellij.openapi.application.impl.ApplicationImpl.runWriteIntentReadAction(ApplicationImpl.java:1226)
	at com.intellij.openapi.application.WriteIntentReadAction.computeThrowable(WriteIntentReadAction.java:55)
	at com.intellij.openapi.application.WriteIntentReadAction.run(WriteIntentReadAction.java:23)
	at com.intellij.openapi.keymap.impl.ActionProcessor.performAction(ActionProcessor.kt:34)
	at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher$actionProcessor$1.performAction(IdeKeyEventDispatcher.kt:546)
	at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcherKt.doPerformActionInner$lambda$0$0(IdeKeyEventDispatcher.kt:885)
	at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:106)
	at com.intellij.openapi.application.TransactionGuardImpl.performUserActivity(TransactionGuardImpl.java:95)
	at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcherKt.doPerformActionInner$lambda$0(IdeKeyEventDispatcher.kt:884)
	at com.intellij.openapi.actionSystem.impl.ActionManagerImpl.performWithActionCallbacks$lambda$1$0(ActionManagerImpl.kt:623)
	at com.intellij.openapi.application.WriteIntentReadAction.lambda$run$0(WriteIntentReadAction.java:24)
	at com.intellij.openapi.application.ThrowableComputableToLambda.invoke(coroutines.kt:351)
	at com.intellij.platform.locking.impl.NestedLocksThreadingSupport.runWriteIntentReadAction(NestedLocksThreadingSupport.kt:710)
	at com.intellij.openapi.application.impl.ApplicationImpl.runWriteIntentReadAction(ApplicationImpl.java:1226)
	at com.intellij.openapi.application.WriteIntentReadAction.computeThrowable(WriteIntentReadAction.java:55)
	at com.intellij.openapi.application.WriteIntentReadAction.run(WriteIntentReadAction.java:23)
	at com.intellij.openapi.actionSystem.impl.ActionManagerImpl.performWithActionCallbacks$lambda$1(ActionManagerImpl.kt:812)
	at com.intellij.concurrency.ThreadContext.installThreadContext(threadContext.kt:307)
	at com.intellij.openapi.actionSystem.impl.ActionManagerImpl.performWithActionCallbacks(ActionManagerImpl.kt:620)
	at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcherKt.doPerformActionInner(IdeKeyEventDispatcher.kt:882)
	at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcherKt.access$doPerformActionInner(IdeKeyEventDispatcher.kt:1)
	at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.processAction(IdeKeyEventDispatcher.kt:605)
	at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.processAction(IdeKeyEventDispatcher.kt:559)
	at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.processActionOrWaitSecondStroke(IdeKeyEventDispatcher.kt:498)
	at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.inInitState(IdeKeyEventDispatcher.kt:491)
	at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.dispatchKeyEvent(IdeKeyEventDispatcher.kt:351)
	at com.intellij.ide.IdeEventQueue.dispatchKeyEvent(IdeEventQueue.kt:622)
	at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.kt:575)
	at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$0$0$0$0(IdeEventQueue.kt:388)
	at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:941)
	at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$0$0$0(IdeEventQueue.kt:387)
	at com.intellij.ide.IdeEventQueueKt.performActivity$lambda$0(IdeEventQueue.kt:1122)
	at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:114)
	at com.intellij.ide.IdeEventQueueKt.performActivity(IdeEventQueue.kt:1122)
	at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$0(IdeEventQueue.kt:382)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.kt:422)
	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)
	Suppressed: com.intellij.util.ExceptionUtilRt$RethrownStack: Rethrown at
		at com.intellij.util.ExceptionUtilRt.addRethrownStackAsSuppressed(ExceptionUtilRt.java:43)
		at com.intellij.util.ExceptionUtilRt.rethrowUnchecked(ExceptionUtilRt.java:16)
		at com.intellij.util.ExceptionUtil.rethrowUnchecked(ExceptionUtil.java:143)
		at com.intellij.openapi.command.impl.CommandProcessorImpl.finishCommand(CommandProcessorImpl.java:32)
		at com.intellij.openapi.command.impl.CoreCommandProcessor.lambda$executeCommand$1(CoreCommandProcessor.java:150)
		at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeNonCancelableSection$0(CoreProgressManager.java:356)
		at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:832)
		at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:788)
		at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$computeInNonCancelableSection$0(CoreProgressManager.java:364)
		at com.intellij.openapi.progress.Cancellation.computeInNonCancelableSection(Cancellation.java:167)
		at com.intellij.openapi.progress.impl.CoreProgressManager.computeInNonCancelableSection(CoreProgressManager.java:364)
		at com.intellij.openapi.progress.impl.CoreProgressManager.executeNonCancelableSection(CoreProgressManager.java:355)
		at com.intellij.openapi.command.impl.CoreCommandProcessor.lambda$executeCommand$0(CoreCommandProcessor.java:149)
		... 59 more
Caused by: java.lang.ClassNotFoundException: org.apache.commons.lang.WordUtils PluginClassLoader(plugin=PluginMainDescriptor(name=CamelCase, id=de.netnexus.camelcaseplugin, version=3.0.12, isBundled=false, path=~/Library/Application Support/JetBrains/WebStorm2026.2/plugins/CamelCasePlugin.jar), packagePrefix=null, state=active, parents=ContentModuleDescriptor(id=intellij.libraries.groovy, loadingRule=EMBEDDED) <- PluginMainDescriptor(name=Groovy Scripting, id=com.intellij.groovy.scripting, version=262.9437.145, isBundled=true, path=/Applications/WebStorm.app/Contents/plugins/groovy-scripting), ContentModuleDescriptor(id=intellij.platform.vcs.log.graph) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=262.9437.145, isBundled=true, path=/Applications/WebStorm.app/Contents/lib), ContentModuleDescriptor(id=intellij.xml.emmet) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=262.9437.145, isBundled=true, path=/Applications/WebStorm.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.ssh.core, loadingRule=REQUIRED) <- PluginMainDescriptor(name=SSH, id=intellij.ssh.plugin, version=262.9437.145, isBundled=true, path=/Applications/WebStorm.app/Contents/plugins/platform-ssh-plugin), ContentModuleDescriptor(id=intellij.platform.ssh, loadingRule=REQUIRED) <- PluginMainDescriptor(name=SSH, id=intellij.ssh.plugin, version=262.9437.145, isBundled=true, path=/Applications/WebStorm.app/Contents/plugins/platform-ssh-plugin), ContentModuleDescriptor(id=intellij.platform.ssh.attach) <- PluginMainDescriptor(name=SSH, id=intellij.ssh.plugin, version=262.9437.145, isBundled=true, path=/Applications/WebStorm.app/Contents/plugins/platform-ssh-plugin), ContentModuleDescriptor(id=intellij.platform.vcs.log) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=262.9437.145, isBundled=true, path=/Applications/WebStorm.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.smRunner, loadingRule=REQUIRED) <- PluginMainDescriptor(name=Test Runner, id=intellij.testRunner.plugin, version=262.9437.145, isBundled=true, path=/Applications/WebStorm.app/Contents/plugins/platform-testRunner-plugin), ContentModuleDescriptor(id=intellij.platform.structureView) <- PluginMainDescriptor(name=Structure View, id=intellij.structureView.plugin, version=262.9437.145, isBundled=true, path=/Applications/WebStorm.app/Contents/plugins/platform-structureView-plugin), ContentModuleDescriptor(id=intellij.platform.todo) <- PluginMainDescriptor(name=TODO Comments, id=intellij.todo.plugin, version=262.9437.145, isBundled=true, path=/Applications/WebStorm.app/Contents/plugins/platform-todo-plugin), ContentModuleDescriptor(id=intellij.platform.bookmarks, loadingRule=REQUIRED) <- PluginMainDescriptor(name=Bookmarks Manager, id=intellij.bookmarks.plugin, version=262.9437.145, isBundled=true, path=/Applications/WebStorm.app/Contents/plugins/platform-bookmarks-plugin), ContentModuleDescriptor(id=intellij.platform.vcs.dvcs) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=262.9437.145, isBundled=true, path=/Applications/WebStorm.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.structuralSearch) <- PluginMainDescriptor(name=Structural Search, id=intellij.structuralSearch.plugin, version=262.9437.145, isBundled=true, path=/Applications/WebStorm.app/Contents/plugins/platform-structuralSearch-plugin), ContentModuleDescriptor(id=intellij.relaxng) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=262.9437.145, isBundled=true, path=/Applications/WebStorm.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.vcs.impl) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=262.9437.145, isBundled=true, path=/Applications/WebStorm.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.vcs.log.impl) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=262.9437.145, isBundled=true, path=/Applications/WebStorm.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.vcs.dvcs.impl) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=262.9437.145, isBundled=true, path=/Applications/WebStorm.app/Contents/lib), ContentModuleDescriptor(id=intellij.spellchecker) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=262.9437.145, isBundled=true, path=/Applications/WebStorm.app/Contents/lib), ContentModuleDescriptor(id=intellij.spellchecker.xml) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=262.9437.145, isBundled=true, path=/Applications/WebStorm.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.scriptDebugger.protocolReaderRuntime) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=262.9437.145, isBundled=true, path=/Applications/WebStorm.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.scriptDebugger.backend) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=262.9437.145, isBundled=true, path=/Applications/WebStorm.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.scriptDebugger.ui) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=262.9437.145, isBundled=true, path=/Applications/WebStorm.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.tasks) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=262.9437.145, isBundled=true, path=/Applications/WebStorm.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.tasks.impl) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=262.9437.145, isBundled=true, path=/Applications/WebStorm.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.collaborationTools.auth.base) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=262.9437.145, isBundled=true, path=/Applications/WebStorm.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.collaborationTools.auth) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=262.9437.145, isBundled=true, path=/Applications/WebStorm.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.collaborationTools) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=262.9437.145, isBundled=true, path=/Applications/WebStorm.app/Contents/lib), )
	at com.intellij.ide.plugins.cl.PluginClassLoader.loadClass(PluginClassLoader.kt:154)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:490)
	... 73 more

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions