I am developing a plugin for Jira. I have included template renderer using,
<dependency>
<groupId>com.atlassian.templaterenderer</groupId>
<artifactId>atlassian-template-renderer-api</artifactId>
<version>1.3.1</version>
<scope>provided</scope>
</dependency>
and it has been working for long time. But ever since I have introduced some new dependency jars ( that has nothing to do with template renderer! ), it is not working for me. I have posted the logs below. I have tried rebuilding after atlas-clean command, but nothing worked for me. Please help me in this regard. Thanks.
[INFO] [talledLocalContainer] 2018-03-19 18:20:50,889 FelixDispatchQueue ERROR [c.a.p.o.container.felix.FelixOsgiContainerManager] Framework error in bundle com.atlassian.templaterenderer.atlassian-template-renderer-velocity16-plugin
[INFO] [talledLocalContainer] org.osgi.framework.ServiceException: Service factory exception: Cannot instantiate class for introspector.cache.classes
[INFO] [talledLocalContainer] at org.apache.felix.framework.ServiceRegistrationImpl.getFactoryUnchecked(ServiceRegistrationImpl.java:312)
[INFO] [talledLocalContainer] at org.apache.felix.framework.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:219)
[INFO] [talledLocalContainer] at org.apache.felix.framework.ServiceRegistry.getService(ServiceRegistry.java:320)
[INFO] [talledLocalContainer] at org.apache.felix.framework.Felix.getService(Felix.java:3568)
[INFO] [talledLocalContainer] at org.apache.felix.framework.BundleContextImpl.getService(BundleContextImpl.java:468)
[INFO] [talledLocalContainer] at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ReferenceHolder.getService(ReferenceHolder.java:47)
[INFO] [talledLocalContainer] at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceDynamicInterceptor$ServiceLookUpCallback.doWithRetry(ServiceDynamicInterceptor.java:104)
[INFO] [talledLocalContainer] at org.eclipse.gemini.blueprint.service.importer.support.internal.support.RetryTemplate.execute(RetryTemplate.java:81)
[INFO] [talledLocalContainer] at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceDynamicInterceptor.lookupService(ServiceDynamicInterceptor.java:427)
[INFO] [talledLocalContainer] at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceDynamicInterceptor.getTarget(ServiceDynamicInterceptor.java:400)
[INFO] [talledLocalContainer] at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.invoke(ServiceInvoker.java:60)
I had the same issue and manage to solve it by fixing the sal-api dependency version.
<dependency>
<groupId>com.atlassian.sal</groupId>
<artifactId>sal-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
According to the SAL version matrix 3.1.0 is the last one supporting JIRA 7.x.
Additionally I had to add some lines to the Import-Package node in my pom.xml. It is looking like that now for my plugin:
<Import-Package>
com.atlassian.jira.bc.filter,
com.atlassian.jira.bc.issue.search,
com.atlassian.jira.issue,
com.atlassian.jira.issue.fields,
com.atlassian.jira.issue.fields.layout.field,
com.atlassian.jira.issue.fields.rest.json.beans,
com.atlassian.jira.jql.parser,
com.atlassian.jira.security,
com.atlassian.sal.api,
com.atlassian.sal.api.pluginsettings,
com.atlassian.sal.api.transaction,
com.atlassian.templaterenderer,
org.springframework.beans,
org.springframework.beans.factory,
org.springframework.cglib.core,
org.springframework.cglib.proxy,
org.springframework.cglib.reflect,
*
</Import-Package>
The highlighted ones were added after changing the sal-api version.
Btw I'm using Atlassian Spring Scanner 2. I don't know, maybe the use of previous versions implies further changes.
Here are some version number related to my solution:
<properties>
<jira.version>7.9.0</jira.version>
<amps.version>6.3.15</amps.version>
<spring.version>5.0.4.RELEASE</spring.version>
<atlassian.spring.scanner.version>2.1.3</atlassian.spring.scanner.version>
<!-- This key is used to keep the consistency between the key in atlassian-plugin.xml and the key to generate bundle. -->
<atlassian.plugin.key>${project.groupId}.${project.artifactId}</atlassian.plugin.key>
<!-- TestKit version 6.x for JIRA 6.x -->
<testkit.version>6.3.11</testkit.version>
<plugin.testrunner.version>1.2.3</plugin.testrunner.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
Good luck!
The problem appeared again. This time after adding
<DynamicImport-Package>*</DynamicImport-Package>
to the instructions of maven-jira-plugin. This seems to load imcompatible dependencies, too.
After removing the line I didn't get rid of the error. Restarting JIRA was not enough, I had to clean the maven target folder to get things running again.
Turns out, tackling dependencies problems in OSGi can be pretty time consuming.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hey, did you resolved this problem?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Deleted. I accidently posted twice, since I thought the first answer was not published.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.