Unable to start the plugin container for Jira Cloud Migration Assistant plugin

Still need help?

The Atlassian Community is here for you.

Ask the community

Platform notice: Server and Data Center only. This article only applies to Atlassian products on the Server and Data Center platforms.

Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.

*Except Fisheye and Crucible

Summary

Admin sees errors on the logs when attempting to enable the Jira Cloud Migration Assistant plugin or the errors can be found during startup where the plugin fails to get enable.

Plugin Marketplace link for reference:

Environment

9.4.6

May also be seen on other versions - the key factor is not having a compatible JSM version.

Diagnosis

On the logs there will be several references to packages related to Jira Service Management, formerly known as Jira Service Desk (jsd).

On Jira, go to Administration (⚙ icon) > Applications > Versions & licenses and you may see that your installed version of Jira Service Management is not compatible with your current version of Jira Software.

If your version is already compatible, please, review the contents of your <installed_plugins> directory as described on this article as you may have older version of JSM impacting startup.

On startup you may see the following:

        'com.atlassian.jira.migration.jira-migration-plugin' - 'Jira Cloud Migration Assistant'  failed to load.
                Error creating bean with name 'projectExporter' defined in URL [bundle://319ce1d2-910c-459f-9651-05bc96eba6c8_105.0:1/com/atlassian/jira/migration/export/core/project/ProjectExporter.class]: Unsatisfied dependency expressed through cons
tructor parameter 16; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jsdExportService' defined in OSGi resource[classpath:com/atlassian/jira/migration/config/MainSpringConfiguration.class|bnd
.id=105|bnd.sym=com.atlassian.jira.migration.jira-migration-plugin]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.atlassian.jira.migration.export.serv
icedesk.service.JsdExportService]: Factory method 'jsdExportService' threw exception; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'serviceDeskCoreDataReader': Lookup method resolution faile
d; nested exception is java.lang.IllegalStateException: Failed to introspect Class [com.atlassian.jira.migration.export.db.servicedesk.ServiceDeskCoreDataReader] from ClassLoader [com.atlassian.jira.migration.jira-migration-plugin [105]]
                        Error creating bean with name 'jsdExportService' defined in OSGi resource[classpath:com/atlassian/jira/migration/config/MainSpringConfiguration.class|bnd.id=105|bnd.sym=com.atlassian.jira.migration.jira-migration-plugin]: Bean i
nstantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.atlassian.jira.migration.export.servicedesk.service.JsdExportService]: Factory method 'jsdExportService' threw
exception; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'serviceDeskCoreDataReader': Lookup method resolution failed; nested exception is java.lang.IllegalStateException: Failed to introspec
t Class [com.atlassian.jira.migration.export.db.servicedesk.ServiceDeskCoreDataReader] from ClassLoader [com.atlassian.jira.migration.jira-migration-plugin [105]]
                                Failed to instantiate [com.atlassian.jira.migration.export.servicedesk.service.JsdExportService]: Factory method 'jsdExportService' threw exception; nested exception is org.springframework.beans.factory.BeanCreationExcep
tion: Error creating bean with name 'serviceDeskCoreDataReader': Lookup method resolution failed; nested exception is java.lang.IllegalStateException: Failed to introspect Class [com.atlassian.jira.migration.export.db.servicedesk.ServiceDeskCoreDataRea
der] from ClassLoader [com.atlassian.jira.migration.jira-migration-plugin [105]]
                                        Error creating bean with name 'serviceDeskCoreDataReader': Lookup method resolution failed; nested exception is java.lang.IllegalStateException: Failed to introspect Class [com.atlassian.jira.migration.export.db.
servicedesk.ServiceDeskCoreDataReader] from ClassLoader [com.atlassian.jira.migration.jira-migration-plugin [105]]
                                                Failed to introspect Class [com.atlassian.jira.migration.export.db.servicedesk.ServiceDeskCoreDataReader] from ClassLoader [com.atlassian.jira.migration.jira-migration-plugin [105]]
                                                        com/atlassian/servicedesk/api/ServiceDesk
                                                                com.atlassian.servicedesk.api.ServiceDesk not found by com.atlassian.jira.migration.jira-migration-plugin [105]

                It was loaded from /opt/jira-home/plugins/installed-plugins/plugin.14742412129347025761.jira-migration-plugin-1.6.6.jar


While attempting to enable the plugin you may see this:

2023-06-01 15:34:30,864+0000 ThreadPoolAsyncTaskExecutor::Thread 31 ERROR mmladmin 934x519x1 swivwu 106.220.255.29,10.83.21.18 /rest/plugins/1.0/com.atlassian.jira.migration.jira-migration-plugin-key [c.a.p.osgi.factory.OsgiPlugin] Unable to start the
plugin container for plugin 'com.atlassian.jira.migration.jira-migration-plugin'
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'projectExporter' defined in URL [bundle://319ce1d2-910c-459f-9651-05bc96eba6c8_105.0:1/com/atlassian/jira/migration/export/core/project/ProjectExporter.class]: Unsatisfied dependency expressed through constructor parameter 16; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jsdExportService' defined in OSGi resource[classpath:com/atlassian/jira/migration/config/MainSpringConfiguration.class|bnd.id=105|bnd.sym=com.atlassian.jira.migration.jira-migration-plugin]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.atlassian.jira.migration.export.servicedesk.service.JsdExportService]: Factory method 'jsdExportService' threw exception; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'serviceDeskCoreDataReader': Lookup method resolution failed; nested exception is java.lang.IllegalStateException: Failed to introspect Class [com.atlassian.jira.migration.export.db.servicedesk.ServiceDeskCoreDataReader] from ClassLoader [com.atlassian.jira.migration.jira-migration-plugin [105]]
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jsdExportService' defined in OSGi resource[classpath:com/atlassian/jira/migration/config/MainSpringConfiguration.class|bnd.id=105|bnd.sym=com.atlassian.jira.migration.jira-migration-plugin]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.atlassian.jira.migration.export.servicedesk.service.JsdExportService]: Factory method 'jsdExportService' threw exception; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'serviceDeskCoreDataReader': Lookup method resolution failed; nested exception is java.lang.IllegalStateException: Failed to introspect Class [com.atlassian.jira.migration.export.db.servicedesk.ServiceDeskCoreDataReader] from ClassLoader [com.atlassian.jira.migration.jira-migration-plugin [105]]
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.atlassian.jira.migration.export.servicedesk.service.JsdExportService]: Factory method 'jsdExportService' threw exception; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'serviceDeskCoreDataReader': Lookup method resolution failed; nested exception is java.lang.IllegalStateException: Failed to introspect Class [com.atlassian.jira.migration.export.db.servicedesk.ServiceDeskCoreDataReader] from ClassLoader [com.atlassian.jira.migration.jira-migration-plugin [105]]
        at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185)
        at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653)
        ... 33 more
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'serviceDeskCoreDataReader': Lookup method resolution failed; nested exception is java.lang.IllegalStateException: Failed to introspect Class [com.atlassian.jira.migration.export.db.servicedesk.ServiceDeskCoreDataReader] from ClassLoader [com.atlassian.jira.migration.jira-migration-plugin [105]]
Caused by: java.lang.IllegalStateException: Failed to introspect Class [com.atlassian.jira.migration.export.db.servicedesk.ServiceDeskCoreDataReader] from ClassLoader [com.atlassian.jira.migration.jira-migration-plugin [105]]
        at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:485)
        at org.springframework.util.ReflectionUtils.doWithLocalMethods(ReflectionUtils.java:321)
        at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.determineCandidateConstructors(AutowiredAnnotationBeanPostProcessor.java:267)
        ... 59 more
Caused by: java.lang.NoClassDefFoundError: com/atlassian/servicedesk/api/ServiceDesk
        at java.base/java.lang.Class.privateGetDeclaredMethods(Class.java:3166)
        at java.base/java.lang.Class.getDeclaredMethods(Class.java:2309)
        at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:467)
        ... 61 more
Caused by: java.lang.ClassNotFoundException: com.atlassian.servicedesk.api.ServiceDesk not found by com.atlassian.jira.migration.jira-migration-plugin [105]
        at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1585)
        at org.apache.felix.framework.BundleWiringImpl.access$300(BundleWiringImpl.java:79)
        at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1970)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
        ... 65 more


Cause

An incompatible version of Jira Service Management is installed or and older version is still on <installed_plugins> directory causing conflicts on startup due to missing dependencies.

Solution

If you have an incompatible version of JSM:

  1. On Jira, go to Administration (⚙ icon) > Applications > Versions & licenses.
  2. If you do not have the compatible version you may upgrade on the Versions & licenses or find the correct version here for download.
    1. https://marketplace.atlassian.com/apps/1213632/jira-service-management/version-history
    2. Example for JSM 5.4.6 compatible with Jira Software 9.4.6
    3. Click on Upload an application, then provide the following URL for Jira Service Management version that is compatible.
    4. Click on Upload. It can take a few minutes to upload and install the new version of this app.
  3. After this process finishes, please go to Administration (⚙ icon) > Manage apps, then click on Manage apps again in the left menu.
  4. Find the Cloud Migration Assistant app and try enabling it again.
  5. If it still fails to enable, you may need to restart your instance (rolling restart will do on Data Center) so you get a clean startup.

If you have .jar for older versions of JSM on installed_plugins

You may either delete the directory entirely and restart Jira followed by manually installing all plugins you had before or you may follow the steps for the article below to remove the JSM related jars:


Last modified on Jun 2, 2023

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.