zengkid / SmartTomcat

The Tomcat plugin for Intellij IDEA
Apache License 2.0
126 stars 55 forks source link

Added support for tomcat installations with spaces in their paths #16

Closed CesarPantoja closed 5 years ago

CesarPantoja commented 6 years ago

Tomcat installations with spaces was failing See #13 #12 The fix is simply to enclose the path in quotes (") when getting the installation info Tested to work in Windows and Linux (don't have access to mac, but it should work too)

yl-coder commented 6 years ago

I will test it on Mac for u

yl-coder commented 6 years ago

can't work on Mac

CesarPantoja commented 6 years ago

Hi @yl-coder, thanks for taking the time to verify if it was working on Mac. Can you elaborate why it didn't work? Did you get an exception? Can you post the error message/stack trace?

Thanks!

yl-coder commented 6 years ago

@CesarPantoja Sorry for late reply. I was busy with my work. Here's the exception. But It is not apparent on what is causing the issue.

om.poratu.idea.plugins.tomcat.setting.TomcatSettingConfigurable.disposeUIResources()V java.lang.AbstractMethodError: com.poratu.idea.plugins.tomcat.setting.TomcatSettingConfigurable.disposeUIResources()V at com.intellij.openapi.options.ex.ConfigurableCardPanel.dispose(ConfigurableCardPanel.java:109) at com.intellij.openapi.options.ex.ConfigurableCardPanel.dispose(ConfigurableCardPanel.java:35) at com.intellij.ui.CardLayoutPanel.removeAll(CardLayoutPanel.java:196) at com.intellij.ui.CardLayoutPanel.dispose(CardLayoutPanel.java:72) at com.intellij.openapi.util.Disposer$1.execute(Disposer.java:48) at com.intellij.openapi.util.Disposer$1.execute(Disposer.java:44) at com.intellij.openapi.util.objectTree.ObjectNode$1.execute(ObjectNode.java:132) at com.intellij.openapi.util.objectTree.ObjectNode$1.execute(ObjectNode.java:106) at com.intellij.openapi.util.objectTree.ObjectTree.executeActionWithRecursiveGuard(ObjectTree.java:150) at com.intellij.openapi.util.objectTree.ObjectNode.execute(ObjectNode.java:106) at com.intellij.openapi.util.objectTree.ObjectNode$1.execute(ObjectNode.java:122) at com.intellij.openapi.util.objectTree.ObjectNode$1.execute(ObjectNode.java:106) at com.intellij.openapi.util.objectTree.ObjectTree.executeActionWithRecursiveGuard(ObjectTree.java:150) at com.intellij.openapi.util.objectTree.ObjectNode.execute(ObjectNode.java:106) at com.intellij.openapi.util.objectTree.ObjectNode$1.execute(ObjectNode.java:122) at com.intellij.openapi.util.objectTree.ObjectNode$1.execute(ObjectNode.java:106) at com.intellij.openapi.util.objectTree.ObjectTree.executeActionWithRecursiveGuard(ObjectTree.java:150) at com.intellij.openapi.util.objectTree.ObjectNode.execute(ObjectNode.java:106) at com.intellij.openapi.util.objectTree.ObjectNode$1.execute(ObjectNode.java:122) at com.intellij.openapi.util.objectTree.ObjectNode$1.execute(ObjectNode.java:106) at com.intellij.openapi.util.objectTree.ObjectTree.executeActionWithRecursiveGuard(ObjectTree.java:150) at com.intellij.openapi.util.objectTree.ObjectNode.execute(ObjectNode.java:106) at com.intellij.openapi.util.objectTree.ObjectTree.executeAll(ObjectTree.java:136) at com.intellij.openapi.util.Disposer.dispose(Disposer.java:119) at com.intellij.openapi.util.Disposer.dispose(Disposer.java:115) at com.intellij.openapi.ui.DialogWrapper.close(DialogWrapper.java:414) at com.intellij.openapi.ui.DialogWrapper.close(DialogWrapper.java:418) at com.intellij.openapi.ui.DialogWrapper.doOKAction(DialogWrapper.java:992) at com.intellij.openapi.options.newEditor.SettingsDialog.access$001(SettingsDialog.java:41) at com.intellij.openapi.options.newEditor.SettingsDialog.doOKAction(SettingsDialog.java:155) at com.intellij.openapi.ui.DialogWrapper$OkAction.doAction(DialogWrapper.java:1843) at com.intellij.openapi.ui.DialogWrapper$DialogWrapperAction.actionPerformed(DialogWrapper.java:1809) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252) at java.awt.Component.processMouseEvent(Component.java:6533) at javax.swing.JComponent.processMouseEvent(JComponent.java:3324) at java.awt.Component.processEvent(Component.java:6298) at java.awt.Container.processEvent(Container.java:2236) at java.awt.Component.dispatchEventImpl(Component.java:4889) at java.awt.Container.dispatchEventImpl(Container.java:2294) at java.awt.Component.dispatchEvent(Component.java:4711) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466) at java.awt.Container.dispatchEventImpl(Container.java:2280) at java.awt.Window.dispatchEventImpl(Window.java:2746) at java.awt.Component.dispatchEvent(Component.java:4711) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758) at java.awt.EventQueue.access$500(EventQueue.java:97) at java.awt.EventQueue$3.run(EventQueue.java:709) at java.awt.EventQueue$3.run(EventQueue.java:703) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) at java.awt.EventQueue$4.run(EventQueue.java:731) at java.awt.EventQueue$4.run(EventQueue.java:729) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76) at java.awt.EventQueue.dispatchEvent(EventQueue.java:728) at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:863) at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:695) at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:385) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:109) at java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:184) at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:229) at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:227) at java.security.AccessController.doPrivileged(Native Method) at java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:227) at java.awt.Dialog.show(Dialog.java:1084) at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl$MyDialog.show(DialogWrapperPeerImpl.java:778) at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl.show(DialogWrapperPeerImpl.java:455) at com.intellij.openapi.ui.DialogWrapper.invokeShow(DialogWrapper.java:1665) at com.intellij.openapi.ui.DialogWrapper.show(DialogWrapper.java:1607) at com.intellij.openapi.options.newEditor.SettingsDialog.access$101(SettingsDialog.java:41) at com.intellij.openapi.options.newEditor.SettingsDialog.lambda$show$0(SettingsDialog.java:77) at com.intellij.openapi.project.DumbPermissionServiceImpl.allowStartingDumbModeInside(DumbPermissionServiceImpl.java:37) at com.intellij.openapi.project.DumbService.allowStartingDumbModeInside(DumbService.java:283) at com.intellij.openapi.options.newEditor.SettingsDialog.show(SettingsDialog.java:77) at com.intellij.ide.actions.ShowSettingsUtilImpl.showSettingsDialog(ShowSettingsUtilImpl.java:94) at com.intellij.ide.MacOSApplicationProvider$Worker$1.lambda$handlePreferences$0(MacOSApplicationProvider.java:137) at com.intellij.openapi.application.TransactionGuardImpl.runSyncTransaction(TransactionGuardImpl.java:88) at com.intellij.openapi.application.TransactionGuardImpl.access$300(TransactionGuardImpl.java:40) at com.intellij.openapi.application.TransactionGuardImpl$1.run(TransactionGuardImpl.java:73) at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.runNextEvent(LaterInvocator.java:326) at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.run(LaterInvocator.java:310) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756) at java.awt.EventQueue.access$500(EventQueue.java:97) at java.awt.EventQueue$3.run(EventQueue.java:709) at java.awt.EventQueue$3.run(EventQueue.java:703) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76) at java.awt.EventQueue.dispatchEvent(EventQueue.java:726) at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:863) at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:699) at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:385) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)