Hello,
After installing my plugin into JIRA, it warns me that "one or more modules is missing dependencies".
And as a result, my plugin is not enabled after installation (and cannot be enabled).
I've checked and the error logs are not helpful at all.
How can I find out what are the run-time dependencies of my plugin? I am now suspecting that perhaps I need to add additional classes/packages into my pom.xml in the <import-package> section. Alternatively, how can I determine what jars/libraries/classes are provided by my host JIRA instance (including those that are indirectly provided through other installed plugins which have exported their jars/libraries)?
Thanks in advance!
Hello,
Try to enable this plugin again and look in the logs. Usually there are helpful messages when enabling a plugin.
Hi Alexey,
Thanks for your reply! I wish you were right, because I posed this question exactly because the error log was not that helpful to me which was/is the following:
2018-06-11 08:57:43,641 ThreadPoolAsyncTaskExecutor::Thread 33 ERROR vcheung 537x13239734x1 1ute834 10.60.0.112 /rest/plugins/1.0/com.amd.jira.plugins.customFieldTool-key [c.a.p.osgi.factory.OsgiPlugin] Unable to start the plugin container for plugin 'com.amd.jira.plugins.customFieldTool'
org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from URL [bundle://241.0:0/META-INF/spring/plugin-context.xml]; nested exception is java.lang.NullPointerException
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:537)
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.NullPointerException
at org.osgi.util.tracker.ServiceTracker.<init>(ServiceTracker.java:184)
at com.atlassian.plugin.spring.scanner.util.ProductFilterUtil.detectService(ProductFilterUtil.java:86)
at com.atlassian.plugin.spring.scanner.util.ProductFilterUtil.detectProduct(ProductFilterUtil.java:74)
at com.atlassian.plugin.spring.scanner.util.ProductFilterUtil.getFilterForProduct(ProductFilterUtil.java:53)
at com.atlassian.plugin.spring.scanner.util.ProductFilterUtil.getFilterForCurrentProduct(ProductFilterUtil.java:44)
at com.atlassian.plugin.spring.scanner.extension.ClassIndexBeanDefinitionScanner.findCandidateComponents(ClassIndexBeanDefinitionScanner.java:98)
at com.atlassian.plugin.spring.scanner.extension.ClassIndexBeanDefinitionScanner.doScan(ClassIndexBeanDefinitionScanner.java:67)
at com.atlassian.plugin.spring.scanner.extension.AtlassianScannerBeanDefinitionParser.parse(AtlassianScannerBeanDefinitionParser.java:67)
at org.springframework.beans.factory.xml.NamespaceHandlerSupport.parse(NamespaceHandlerSupport.java:74)
at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1427)
at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1417)
at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:174)
at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.doRegisterBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:144)
at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:100)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:510)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:392)
... 20 more
As you can see, the error is complaining about some kind of parsing error with my plugin-context.xml file which is:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:atlassian-scanner="http://www.atlassian.com/schema/atlassian-scanner"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.atlassian.com/schema/atlassian-scanner
http://www.atlassian.com/schema/atlassian-scanner/atlassian-scanner.xsd">
<atlassian-scanner:scan-indexes/>
</beans>
I don't see anything wrong with the plugin-context.xml file. Furthermore, my plugin installs without any problems on another JIRA 7.2.8 instance -- it's only having this error on our Unix instance version of JIRA 7.2.8 and I'm trying to troubleshoot why. I'm at a loss since the error seems wrong/misleading.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Try to clean the osgi cache in the broken Jira instance:
If it is a production instance, Kindly make a backup first.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thank you, Alexey! I will try your suggestion and will report my results!
Best regards,
victor
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.