How to enable Confluence Mobile Plugin
Asked by Tim Wisian:

Hi there,

I jsut installed Confluence 6.11 and wanted to activate the Confluence Mobile Plugin.. and everytime I use the "Activate"-button I get the message "This Add-on could not be activated. See the log for further details"

The log says :

2018-08-22 09:33:35,833 ERROR \[ThreadPoolAsyncTaskExecutor::Thread 75\] \[internal.dependencies.startup.DependencyWaiterApplicationContextExecutor\] fail Unable to create application context for \[com.atlassian.confluence.plugins.confluence-mobile-plugin\], unsatisfied dependencies: none  
-- referer: <https://wikit.pnw.loc/plugins/servlet/upm/manage/system> \| url: /rest/plugins/1.0/com.atlassian.confluence.plugins.confluence-mobile-plugin-key \| traceId: 47e6498d6dd036af \| userName: P007366  
org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from URL \[bundle://242.0:0/META-INF/spring/pluginContext.xml\]; nested exception is java.lang.IllegalStateException: Cannot execute atlassian-spring-scanner-runtime: plugin has an extra copy of atlassian-spring-scanner-annotation classes, perhaps embedded inside the target plugin 'com.atlassian.confluence.plugins.confluence-mobile-plugin'; embedding scanner-annotations is not supported since scanner version 2.0. Use 'mvn dependency:tree' and ensure the atlassian-spring-scanner-annotation dependency in your plugin has \<scope\>provided\</scope\>, not 'runtime' or 'compile', and you have NO dependency on atlassian-spring-scanner-runtime.  
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:414)  
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:336)  
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:304)  
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:181)  
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:217)  
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:188)  
at org.eclipse.gemini.blueprint.context.support.OsgiBundleXmlApplicationContext.loadBeanDefinitions(OsgiBundleXmlApplicationContext.java:170)  
at org.eclipse.gemini.blueprint.context.support.OsgiBundleXmlApplicationContext.loadBeanDefinitions(OsgiBundleXmlApplicationContext.java:140)  
at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:129)  
at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:609)  
at org.eclipse.gemini.blueprint.context.support.AbstractDelegatedExecutionApplicationContext.access$800(AbstractDelegatedExecutionApplicationContext.java:60)  
at org.eclipse.gemini.blueprint.context.support.AbstractDelegatedExecutionApplicationContext$3.run(AbstractDelegatedExecutionApplicationContext.java:242)  
at org.eclipse.gemini.blueprint.util.internal.PrivilegedUtils.executeWithCustomTCCL(PrivilegedUtils.java:85)  
at org.eclipse.gemini.blueprint.context.support.AbstractDelegatedExecutionApplicationContext.startRefresh(AbstractDelegatedExecutionApplicationContext.java:220)  
at org.eclipse.gemini.blueprint.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.stageOne(DependencyWaiterApplicationContextExecutor.java:224)  
at org.eclipse.gemini.blueprint.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.refresh(DependencyWaiterApplicationContextExecutor.java:177)  
at org.eclipse.gemini.blueprint.context.support.AbstractDelegatedExecutionApplicationContext.refresh(AbstractDelegatedExecutionApplicationContext.java:157)  
at org.eclipse.gemini.blueprint.extender.internal.activator.LifecycleManager$1.run(LifecycleManager.java:207)  
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)  
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)  
at java.lang.Thread.run(Thread.java:748)  
Caused by: java.lang.IllegalStateException: Cannot execute atlassian-spring-scanner-runtime: plugin has an extra copy of atlassian-spring-scanner-annotation classes, perhaps embedded inside the target plugin 'com.atlassian.confluence.plugins.confluence-mobile-plugin'; embedding scanner-annotations is not supported since scanner version 2.0. Use 'mvn dependency:tree' and ensure the atlassian-spring-scanner-annotation dependency in your plugin has \<scope\>provided\</scope\>, not 'runtime' or 'compile', and you have NO dependency on atlassian-spring-scanner-runtime.  
at com.atlassian.plugin.spring.scanner.runtime.impl.AtlassianScannerBeanDefinitionParser.checkScannerRuntimeIsNotEmbeddedInBundle(AtlassianScannerBeanDefinitionParser.java:198)  
at com.atlassian.plugin.spring.scanner.runtime.impl.AtlassianScannerBeanDefinitionParser.parse(AtlassianScannerBeanDefinitionParser.java:60)  
at org.springframework.beans.factory.xml.NamespaceHandlerSupport.parse(NamespaceHandlerSupport.java:74)  
at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1411)  
at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1401)  
at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:168)  
at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.doRegisterBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:138)  
at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:94)  
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:508)  
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:392)

After deleting the plugin-cache the startup lasts a loooong time and new error messages are created :

2018-08-23 09:45:32,161 ERROR \[Spring DM Context Creation Timer\] \[plugin.osgi.factory.OsgiPlugin\] logAndClearOustandingDependencies Plugin 'com.atlassian.confluence.plugins.confluence-mobile-plugin' never resolved service '\&localNotificationService' with filter '(\&(objectClass=com.atlassian.mywork.service.LocalNotificationService)(objectClass=com.atlassian.mywork.service.LocalNotificationService))'  
2018-08-23 09:45:32,161 ERROR \[Spring DM Context Creation Timer\] \[plugin.osgi.factory.OsgiPlugin\] onPluginContainerFailed Unable to start the plugin container for plugin 'com.atlassian.confluence.plugins.confluence-mobile-plugin'  
org.springframework.context.ApplicationContextException: Application context initialization for 'com.atlassian.confluence.plugins.confluence-mobile-plugin' has timed out waiting for (\&(objectClass=com.atlassian.mywork.service.LocalNotificationService)(objectClass=com.atlassian.mywork.service.LocalNotificationService))  
at org.eclipse.gemini.blueprint.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.timeout(DependencyWaiterApplicationContextExecutor.java:489)  
at org.eclipse.gemini.blueprint.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.access$000(DependencyWaiterApplicationContextExecutor.java:54)  
at org.eclipse.gemini.blueprint.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$WatchDogTask.run(DependencyWaiterApplicationContextExecutor.java:109)  
at java.util.TimerThread.mainLoop(Timer.java:555)  
at java.util.TimerThread.run(Timer.java:505)  
2018-08-23 09:45:32,219 ERROR \[Spring DM Context Creation Timer\] \[extender.internal.support.ExtenderConfiguration\] onOsgiApplicationEvent Application context refresh failed (NonValidatingOsgiBundleXmlApplicationContext(bundle=com.atlassian.confluence.plugins.confluence-mobile-plugin, config=osgibundle:/META-INF/spring/\*.xml))  
org.springframework.context.ApplicationContextException: Application context initialization for 'com.atlassian.confluence.plugins.confluence-mobile-plugin' has timed out waiting for (\&(objectClass=com.atlassian.mywork.service.LocalNotificationService)(objectClass=com.atlassian.mywork.service.LocalNotificationService))  
at org.eclipse.gemini.blueprint.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.timeout(DependencyWaiterApplicationContextExecutor.java:489)  
at org.eclipse.gemini.blueprint.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.access$000(DependencyWaiterApplicationContextExecutor.java:54)  
at org.eclipse.gemini.blueprint.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$WatchDogTask.run(DependencyWaiterApplicationContextExecutor.java:109)  
at java.util.TimerThread.mainLoop(Timer.java:555)  
at java.util.TimerThread.run(Timer.java:505)  
2018-08-23 09:45:32,313 ERROR \[Spring DM Context Creation Timer\] \[internal.dependencies.startup.DependencyWaiterApplicationContextExecutor\] fail Unable to create application context for \[com.atlassian.confluence.plugins.confluence-mobile-plugin\], unsatisfied dependencies: Dependency on \[(\&(objectClass=com.atlassian.mywork.service.LocalNotificationService)(objectClass=com.atlassian.mywork.service.LocalNotificationService))\] (from bean \[\&localNotificationService\])  
org.springframework.context.ApplicationContextException: Application context initialization for 'com.atlassian.confluence.plugins.confluence-mobile-plugin' has timed out waiting for (\&(objectClass=com.atlassian.mywork.service.LocalNotificationService)(objectClass=com.atlassian.mywork.service.LocalNotificationService))  
at org.eclipse.gemini.blueprint.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.timeout(DependencyWaiterApplicationContextExecutor.java:489)  
at org.eclipse.gemini.blueprint.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.access$000(DependencyWaiterApplicationContextExecutor.java:54)  
at org.eclipse.gemini.blueprint.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$WatchDogTask.run(DependencyWaiterApplicationContextExecutor.java:109)  
at java.util.TimerThread.mainLoop(Timer.java:555)  
at java.util.TimerThread.run(Timer.java:505)  
2018-08-23 09:45:32,481 ERROR \[http-nio-80-exec-7\] \[atlassian.plugin.manager.PluginEnabler\] actualEnable Unable to start the following plugins due to timeout while waiting for plugin to enable: com.atlassian.confluence.plugins.confluence-mobile-plugin  
-- referer: <https://wikit.pnw.loc/plugins/servlet/upm/manage/system> \| url: /rest/plugins/1.0/com.atlassian.confluence.plugins.confluence-mobile-plugin-key \| traceId: 96f67c07b2dd809e \| userName: P007366


Answers:
author: Grigory Salnikov
body: Hey, guys, a little update:

I might have found the way to resolve this issue/ We just need to enable the **Workbox - Host Plugin** first:

![workbox.jpg](https://community.atlassian.com/t5/image/serverpage/image-id/47294i2FFF94AE3A663946/image-size/large?v=v2&px=999 "workbox.jpg")

Worked for me.


author: Igor M.
body: This has been moved to support system via ticket.

The question will be updated once resolution found.

comments: author: Grigory Salnikov
body: Hello [@Igor M_](/t5/user/viewprofilepage/user-id/1169056) !

Is there any update on this. Having the same issue.

Thanks!


Tags: confluence-server

server