Unable to Uninstall a Plugin or Install an Old Version of a Plugin
Symptoms
Uninstalling a plugin, from the plugin repository, will fail with a window pop-up such as "Could not delete plugin [KB:Plugin Name]." The following appears in the atlassian-confluence.log
:
com.atlassian.plugin.PluginException: Could not delete plugin [Attachment Checkout Plugin].
at com.atlassian.plugin.loaders.ClassLoadingPluginLoader.removePlugin(ClassLoadingPluginLoader.java:171)
at com.atlassian.confluence.plugin.DatabaseClassLoadingPluginLoader.removePlugin(DatabaseClassLoadingPluginLoader.java:114)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
When installing the outdated plugin, the log file shows:
2008-04-22 14:32:48,259 ERROR [http-9090-Processor22] [atlassian.plugin.parsers.XmlDescriptorParser] createModuleDescriptor There was a problem loading the descriptor for module 'web-item' in plugin 'Attachment Checkout Plugin'.
java.lang.NoSuchMethodError: com.atlassian.confluence.pages.DefaultAttachmentManager.getThumbnailManager()Lcom/atlassian/confluence/pages/thumbnail/ThumbnailManager;
-- url: /confluence271/admin/uploadplugin.action | userName: admin | action: uploadplugin
com.atlassian.plugin.PluginParseException: java.lang.NoSuchMethodError: com.atlassian.confluence.pages.DefaultAttachmentManager.getThumbnailManager()Lcom/atlassian/confluence/pages/thumbnail/ThumbnailManager;
at com.atlassian.plugin.web.descriptors.AbstractWebFragmentModuleDescriptor.makeCondition(AbstractWebFragmentModuleDescriptor.java:174)
at com.atlassian.plugin.web.descriptors.AbstractWebFragmentModuleDescriptor.makeConditions(AbstractWebFragmentModuleDescriptor.java:139)
at com.atlassian.plugin.web.descriptors.AbstractWebFragmentModuleDescriptor.makeConditions(AbstractWebFragmentModuleDescriptor.java:95)
at com.atlassian.plugin.web.descriptors.AbstractWebFragmentModuleDescriptor.init(AbstractWebFragmentModuleDescriptor.java:79)
at com.atlassian.plugin.web.descriptors.DefaultWebItemModuleDescriptor.init(DefaultWebItemModuleDescriptor.java:32)
at com.atlassian.plugin.web.descriptors.DefaultAbstractWebFragmentModuleDescriptor.init(DefaultAbstractWebFragmentModuleDescriptor.java:138)
at com.atlassian.plugin.parsers.XmlDescriptorParser.createModuleDescriptor(XmlDescriptorParser.java:147)
at com.atlassian.plugin.parsers.XmlDescriptorParser.configurePlugin(XmlDescriptorParser.java:85)
Cause
The plugin is outdated or incompatible with the version of Confluence.
Resolution
Always backup your data before performing any modifications to the database.
- Find the Plugin's pluginkey from Administration >> Plugins >> (Select the Plugin). The pluginKey is displayed in the URL.
Run the following SQL statement in your database:
select plugindataid, pluginkey,filename,lastmoddate from plugindata;
After you have found the plugindataid for the offending plugin, run the following:
delete from plugindata where plugindataid='XXXXXX';
where XXXXXX is the
plugindataid
value.- Restart Confluence after performing the database update.
- In addition, you might need to go to
<confluence-home>/plugin-cache
and remove the offending plugin. You can clear the entire plugin cache directory safely; it will rebuild.
Still having problems?
Related problem reports are available in APR-24 and APR-86.