Hi there,
I'm developing a new plugin(Plugin A) for JIRA and it uses some features from another plugin(Plugin B).
Plugin A works fine if Plugin B is previously installed. So, my problem is, when the Plugin B is not installed an error occurs during the installation and it makes sense. So, I need to know how I can include Plugin B on the Plugin A to be installed.
Somebody can give me solutions or sugestions?
Thank you.
Rui Rodrigues.
Community moderators have prevented the ability to post new answers.
Maybe this will help - https://summit.atlassian.com/archives/2012/plugin-dev/plugins-in-your-plugins
Thank you Boris.
I've read the documetation(https://developer.atlassian.com/display/DOCS/Bundling+extra+dependencies+in+an+OBR) and the obr file is generated with the dependency I need, but there is a problem. When my plugin is being installed a dependency constraint error occurs.The plugin that my plugin depends sould be installed at same time.
Any sugestion?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Have you included this plugin in the obr ?
Can you post your pom.xml, atlassian-plugin.xml and obr.xml
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Yes. The OBR file constains the plugin dependency.
My pom.xml:
.... <dependencies> <dependency> <groupId>com.xpandit.plugins</groupId> <artifactId>jiraxporter</artifactId> <version>${jiraxporter.version}</version> <scope>provided</scope> </dependency> ... </dependencies> ... <build> <plugins> <plugin> <groupId>com.atlassian.maven.plugins</groupId> <artifactId>maven-jira-plugin</artifactId> <version>${amps.version}</version> <extensions>true</extensions> <configuration> <productVersion>${jira.version}</productVersion> <productDataVersion>${jira.version}</productDataVersion> <instructions> <Importa-Package>com.xpandit.plugins.jiraxporter;version="2.9.5"</Importa-Package> </instructions> <bundledArtifacts> <bundledArtifact> <groupId>com.xpandit.plugins</groupId> <artifactId>jiraxporter</artifactId> <version>2.9.5</version> </bundledArtifact> </bundledArtifacts> <pluginDependencies> <pluginDependency> <groupId>com.xpandit.plugins</groupId> <artifactId>jiraxporter</artifactId> </pluginDependency> </pluginDependencies> </configuration> </plugin> ... </plugins> </build>
My atlassian-plugin.xml:
... <component-import key="xporterService" interface="com.xpandit.jiraxporter.component.service.XporterService" /> ....
I've no obr.xml. The obr.xml generated inside of OBR is:
<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?> <repository lastmodified="20140415121807.584" name="MyRepository"> <resource id="com.atlassian.upm.plugin-license-storage-plugin/2.7.4" presentationname="Atlassian Universal Plugin Manager - Plugin License Storage plugin" symbolicname="com.atlassian.upm.plugin-license-storage-plugin" uri="dependencies/plugin-license-storage-plugin-2.7.4.jar" version="2.7.4"> <description>Provides plugin license storage and decoding capabilities in the absence of a licensing-aware UPM. Disabling or uninstalling this plugin may cause purchased plugins to stop working properly.</description> <size>335081</size> <documentation>http://www.atlassian.com/</documentation> <category id="doesntmatter"/> <capability name="bundle"> <p n="manifestversion" v="2"/> <p n="presentationname" v="Atlassian Universal Plugin Manager - Plugin License Storage plugin"/> <p n="symbolicname" v="com.atlassian.upm.plugin-license-storage-plugin"/> <p n="version" t="version" v="2.7.4"/> </capability> <capability name="package"> <p n="package" v="com.atlassian.upm.api.license.event"/> <p n="uses" v="com.atlassian.upm.api.license.entity,com.google.common.base,com.atlassian.upm.api.util,org.joda.time"/> <p n="version" t="version" v="2.7.4"/> </capability> <capability name="package"> <p n="package" v="com.atlassian.upm.api.license"/> <p n="uses" v="com.atlassian.upm.api.util"/> <p n="version" t="version" v="2.7.4"/> </capability> <capability name="package"> <p n="package" v="com.atlassian.upm.api.license.entity"/> <p n="uses" v="org.joda.time,com.atlassian.upm.api.util"/> <p n="version" t="version" v="2.7.4"/> </capability> <capability name="package"> <p n="package" v="com.atlassian.upm.api.util"/> <p n="uses" v="com.google.common.base,com.google.common.collect"/> <p n="version" t="version" v="2.7.4"/> </capability> <capability name="package"> <p n="package" v="com.atlassian.upm.license.storage.plugin"/> <p n="uses" v="javax.servlet,com.google.common.base,com.atlassian.sal.api.pluginsettings,com.atlassian.upm.api.util,javax.servlet.http,com.atlassian.plugin,com.atlassian.upm.api.license.entity,org.slf4j,org.osgi.framework"/> <p n="version" t="version" v="2.7.4"/> </capability> <require extend="false" filter="(&amp;(package=com.atlassian.bandana)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package com.atlassian.bandana ;version=0.0.0</require> <require extend="false" filter="(&amp;(package=com.atlassian.config.bootstrap)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package com.atlassian.config.bootstrap ;version=0.0.0</require> <require extend="false" filter="(&amp;(package=com.atlassian.config.util)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package com.atlassian.config.util ;version=0.0.0</require> <require extend="false" filter="(&amp;(package=com.atlassian.confluence.core)(version&gt;=3.1.0))" multiple="false" name="package" optional="true">Import package com.atlassian.confluence.core ;version=3.1.0</require> <require extend="false" filter="(&amp;(package=com.atlassian.confluence.event.events.admin)(version&gt;=3.1.0))" multiple="false" name="package" optional="true">Import package com.atlassian.confluence.event.events.admin ;version=3.1.0</require> <require extend="false" filter="(&amp;(package=com.atlassian.confluence.setup)(version&gt;=3.1.0))" multiple="false" name="package" optional="true">Import package com.atlassian.confluence.setup ;version=3.1.0</require> <require extend="false" filter="(&amp;(package=com.atlassian.confluence.setup.bandana)(version&gt;=3.1.0))" multiple="false" name="package" optional="true">Import package com.atlassian.confluence.setup.bandana ;version=3.1.0</require> <require extend="false" filter="(&amp;(package=com.atlassian.confluence.user)(version&gt;=3.1.0))" multiple="false" name="package" optional="true">Import package com.atlassian.confluence.user ;version=3.1.0</require> <require extend="false" filter="(&amp;(package=com.atlassian.crucible.spi.services)(version&gt;=2.4.0))" multiple="false" name="package" optional="true">Import package com.atlassian.crucible.spi.services ;version=2.4.0</require> <require extend="false" filter="(&amp;(package=com.atlassian.jira.license)(version&gt;=4.1.0))" multiple="false" name="package" optional="true">Import package com.atlassian.jira.license ;version=4.1.0</require> <require extend="false" filter="(&amp;(package=com.atlassian.jira.security)(version&gt;=4.1.0))" multiple="false" name="package" optional="true">Import package com.atlassian.jira.security ;version=4.1.0</require> <require extend="false" filter="(&amp;(package=com.atlassian.jira.user.util)(version&gt;=4.1.0))" multiple="false" name="package" optional="true">Import package com.atlassian.jira.user.util ;version=4.1.0</require> <require extend="false" filter="(&amp;(package=com.atlassian.jira.web.util)(version&gt;=4.1.0))" multiple="false" name="package" optional="true">Import package com.atlassian.jira.web.util ;version=4.1.0</require> <require extend="false" filter="(&amp;(package=com.atlassian.plugin)(version&gt;=0.0.0))" multiple="false" name="package" optional="false">Import package com.atlassian.plugin ;version=0.0.0</require> <require extend="false" filter="(&amp;(package=com.atlassian.plugin.event)(version&gt;=0.0.0))" multiple="false" name="package" optional="false">Import package com.atlassian.plugin.event ;version=0.0.0</require> <require extend="false" filter="(&amp;(package=com.atlassian.plugin.event.events)(version&gt;=0.0.0))" multiple="false" name="package" optional="false">Import package com.atlassian.plugin.event.events ;version=0.0.0</require> <require extend="false" filter="(&amp;(package=com.atlassian.plugin.osgi.factory)(version&gt;=0.0.0))" multiple="false" name="package" optional="false">Import package com.atlassian.plugin.osgi.factory ;version=0.0.0</require> <require extend="false" filter="(&amp;(package=com.atlassian.sal.api)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package com.atlassian.sal.api ;version=0.0.0</require> <require extend="false" filter="(&amp;(package=com.atlassian.sal.api.lifecycle)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package com.atlassian.sal.api.lifecycle ;version=0.0.0</require> <require extend="false" filter="(&amp;(package=com.atlassian.sal.api.message)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package com.atlassian.sal.api.message ;version=0.0.0</require> <require extend="false" filter="(&amp;(package=com.atlassian.sal.api.pluginsettings)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package com.atlassian.sal.api.pluginsettings ;version=0.0.0</require> <require extend="false" filter="(&amp;(package=com.atlassian.sal.api.scheduling)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package com.atlassian.sal.api.scheduling ;version=0.0.0</require> <require extend="false" filter="(&amp;(package=com.atlassian.sal.api.timezone)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package com.atlassian.sal.api.timezone ;version=0.0.0</require> <require extend="false" filter="(&amp;(package=com.atlassian.sal.api.transaction)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package com.atlassian.sal.api.transaction ;version=0.0.0</require> <require extend="false" filter="(&amp;(package=com.atlassian.sal.api.user)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package com.atlassian.sal.api.user ;version=0.0.0</require> <require extend="false" filter="(&amp;(package=com.atlassian.stash.license)(version&gt;=1.1.0))" multiple="false" name="package" optional="true">Import package com.atlassian.stash.license ;version=1.1.0</require> <require extend="false" filter="(&amp;(package=com.atlassian.stash.user)(version&gt;=1.1.0))" multiple="false" name="package" optional="true">Import package com.atlassian.stash.user ;version=1.1.0</require> <require extend="false" filter="(&amp;(package=com.atlassian.upm.api.license)(version&gt;=2.7.4))" multiple="false" name="package" optional="false">Import package com.atlassian.upm.api.license ;version=2.7.4</require> <require extend="false" filter="(&amp;(package=com.atlassian.upm.api.license.entity)(version&gt;=2.7.4))" multiple="false" name="package" optional="false">Import package com.atlassian.upm.api.license.entity ;version=2.7.4</require> <require extend="false" filter="(&amp;(package=com.atlassian.upm.api.license.event)(version&gt;=2.7.4))" multiple="false" name="package" optional="false">Import package com.atlassian.upm.api.license.event ;version=2.7.4</require> <require extend="false" filter="(&amp;(package=com.atlassian.upm.api.util)(version&gt;=2.7.4))" multiple="false" name="package" optional="false">Import package com.atlassian.upm.api.util ;version=2.7.4</require> <require extend="false" filter="(&amp;(package=com.cenqua.fisheye)(version&gt;=2.4.0))" multiple="false" name="package" optional="true">Import package com.cenqua.fisheye ;version=2.4.0</require> <require extend="false" filter="(&amp;(package=com.cenqua.fisheye.config)(version&gt;=2.4.0))" multiple="false" name="package" optional="true">Import package com.cenqua.fisheye.config ;version=2.4.0</require> <require extend="false" filter="(&amp;(package=com.cenqua.fisheye.config1)(version&gt;=2.4.0))" multiple="false" name="package" optional="true">Import package com.cenqua.fisheye.config1 ;version=2.4.0</require> <require extend="false" filter="(&amp;(package=com.google.common.base)(version&gt;=1.0.0))" multiple="false" name="package" optional="false">Import package com.google.common.base ;version=1.0.0</require> <require extend="false" filter="(&amp;(package=com.google.common.collect)(version&gt;=1.0.0))" multiple="false" name="package" optional="false">Import package com.google.common.collect ;version=1.0.0</require> <require extend="false" filter="(&amp;(package=com.opensymphony.module.propertyset)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package com.opensymphony.module.propertyset ;version=0.0.0</require> <require extend="false" filter="(&amp;(package=javax.servlet)(version&gt;=0.0.0))" multiple="false" name="package" optional="false">Import package javax.servlet ;version=0.0.0</require> <require extend="false" filter="(&amp;(package=javax.servlet.http)(version&gt;=0.0.0))" multiple="false" name="package" optional="false">Import package javax.servlet.http ;version=0.0.0</require> <require extend="false" filter="(&amp;(package=org.apache.commons.lang)(version&gt;=0.0.0))" multiple="false" name="package" optional="false">Import package org.apache.commons.lang ;version=0.0.0</require> <require extend="false" filter="(&amp;(package=org.joda.time)(version&gt;=0.0.0))" multiple="false" name="package" optional="false">Import package org.joda.time ;version=0.0.0</require> <require extend="false" filter="(&amp;(package=org.joda.time.format)(version&gt;=0.0.0))" multiple="false" name="package" optional="false">Import package org.joda.time.format ;version=0.0.0</require> <require extend="false" filter="(&amp;(package=org.osgi.framework)(version&gt;=0.0.0))" multiple="false" name="package" optional="false">Import package org.osgi.framework ;version=0.0.0</require> <require extend="false" filter="(&amp;(package=org.slf4j)(version&gt;=1.5.0))" multiple="false" name="package" optional="false">Import package org.slf4j ;version=1.5.0</require> </resource> <resource id="com.xpandit.plugins.jiraxporter/2.9.5" presentationname="Xporter Plugin for JIRA" symbolicname="com.xpandit.plugins.jiraxporter" uri="jiraxporter-2.9.5.jar" version="2.9.5"> <description>A plugin which exports JIRA Issues to PDF and DOCX Files using templates based on Microsoft Word (DOCX).</description> <size>8785279</size> <documentation>http://www.xpand-it.com</documentation> <category id="doesntmatter"/> <capability name="bundle"> <p n="manifestversion" v="2"/> <p n="presentationname" v="Xporter Plugin for JIRA"/> <p n="symbolicname" v="com.xpandit.plugins.jiraxporter"/> <p n="version" t="version" v="2.9.5"/> </capability> <capability name="package"> <p n="package" v="com.xpandit.jiraxporter.component.service.dto"/> <p n="version" t="version" v="2.9.5"/> </capability> <capability name="package"> <p n="package" v="com.xpandit.jiraxporter.component.service"/> <p n="uses" v="com.xpandit.jiraxporter.component.service.dto,com.xpandit.jiraxporter.component.service.exception,com.atlassian.jira.component,org.apache.log4j,com.atlassian.crowd.embedded.api,com.atlassian.jira.issue,com.atlassian.jira.security,com.atlassian.sal.api.message"/> <p n="version" t="version" v="2.9.5"/> </capability> <capability name="package"> <p n="package" v="com.xpandit.jiraxporter.component.service.exception"/> <p n="version" t="version" v="2.9.5"/> </capability> <require extend="false" filter="(&amp;(package=com.atlassian.core.user.preferences)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package com.atlassian.core.user.preferences</require> <require extend="false" filter="(&amp;(package=com.atlassian.core.util)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package com.atlassian.core.util</require> <require extend="false" filter="(&amp;(package=com.atlassian.crowd.embedded.api)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package com.atlassian.crowd.embedded.api</require> <require extend="false" filter="(&amp;(package=com.atlassian.crowd.embedded.impl)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package com.atlassian.crowd.embedded.impl</require> <require extend="false" filter="(&amp;(package=com.atlassian.crowd.model.user)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package com.atlassian.crowd.model.user</require> <require extend="false" filter="(&amp;(package=com.atlassian.event.api)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package com.atlassian.event.api</require> <require extend="false" filter="(&amp;(package=com.atlassian.jira.bc.issue.search)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package com.atlassian.jira.bc.issue.search</require> <require extend="false" filter="(&amp;(package=com.atlassian.jira.bc.project.component)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package com.atlassian.jira.bc.project.component</require> <require extend="false" filter="(&amp;(package=com.atlassian.jira.bulkedit)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package com.atlassian.jira.bulkedit</require> <require extend="false" filter="(&amp;(package=com.atlassian.jira.bulkedit.operation)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package com.atlassian.jira.bulkedit.operation</require> <require extend="false" filter="(&amp;(package=com.atlassian.jira.component)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package com.atlassian.jira.component</require> <require extend="false" filter="(&amp;(package=com.atlassian.jira.config.properties)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package com.atlassian.jira.config.properties</require> <require extend="false" filter="(&amp;(package=com.atlassian.jira.config.util)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package com.atlassian.jira.config.util</require> <require extend="false" filter="(&amp;(package=com.atlassian.jira.issue)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package com.atlassian.jira.issue</require> <require extend="false" filter="(&amp;(package=com.atlassian.jira.issue.attachment)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package com.atlassian.jira.issue.attachment</require> <require extend="false" filter="(&amp;(package=com.atlassian.jira.issue.comments)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package com.atlassian.jira.issue.comments</require> <require extend="false" filter="(&amp;(package=com.atlassian.jira.issue.customfields)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package com.atlassian.jira.issue.customfields</require> <require extend="false" filter="(&amp;(package=com.atlassian.jira.issue.fields)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package com.atlassian.jira.issue.fields</require> <require extend="false" filter="(&amp;(package=com.atlassian.jira.issue.fields.config.manager)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package com.atlassian.jira.issue.fields.config.manager</require> <require extend="false" filter="(&amp;(package=com.atlassian.jira.issue.fields.layout.field)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package com.atlassian.jira.issue.fields.layout.field</require> <require extend="false" filter="(&amp;(package=com.atlassian.jira.issue.fields.renderer.wiki)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package com.atlassian.jira.issue.fields.renderer.wiki</require> <require extend="false" filter="(&amp;(package=com.atlassian.jira.issue.issuetype)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package com.atlassian.jira.issue.issuetype</require> <require extend="false" filter="(&amp;(package=com.atlassian.jira.issue.label)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package com.atlassian.jira.issue.label</require> <require extend="false" filter="(&amp;(package=com.atlassian.jira.issue.link)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package com.atlassian.jira.issue.link</require> <require extend="false" filter="(&amp;(package=com.atlassian.jira.issue.priority)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package com.atlassian.jira.issue.priority</require> <require extend="false" filter="(&amp;(package=com.atlassian.jira.issue.resolution)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package com.atlassian.jira.issue.resolution</require> <require extend="false" filter="(&amp;(package=com.atlassian.jira.issue.search)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package com.atlassian.jira.issue.search</require> <require extend="false" filter="(&amp;(package=com.atlassian.jira.issue.status)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package com.atlassian.jira.issue.status</require> <require extend="false" filter="(&amp;(package=com.atlassian.jira.issue.views)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package com.atlassian.jira.issue.views</require> <require extend="false" filter="(&amp;(package=com.atlassian.jira.issue.worklog)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package com.atlassian.jira.issue.worklog</require> <require extend="false" filter="(&amp;(package=com.atlassian.jira.license)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package com.atlassian.jira.license</require> <require extend="false" filter="(&amp;(package=com.atlassian.jira.plugin.issueview)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package com.atlassian.jira.plugin.issueview</require> <require extend="false" filter="(&amp;(package=com.atlassian.jira.plugin.webfragment.contextproviders)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package com.atlassian.jira.plugin.webfragment.contextproviders</require> <require extend="false" filter="(&amp;(package=com.atlassian.jira.plugin.webfragment.model)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package com.atlassian.jira.plugin.webfragment.model</require> <require extend="false" filter="(&amp;(package=com.atlassian.jira.plugin.workflow)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package com.atlassian.jira.plugin.workflow</require> <require extend="false" filter="(&amp;(package=com.atlassian.jira.project)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package com.atlassian.jira.project</require> <require extend="false" filter="(&amp;(package=com.atlassian.jira.project.version)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package com.atlassian.jira.project.version</require> <require extend="false" filter="(&amp;(package=com.atlassian.jira.security)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package com.atlassian.jira.security</require> <require extend="false" filter="(&amp;(package=com.atlassian.jira.security.groups)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package com.atlassian.jira.security.groups</require> <require extend="false" filter="(&amp;(package=com.atlassian.jira.security.roles)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package com.atlassian.jira.security.roles</require> <require extend="false" filter="(&amp;(package=com.atlassian.jira.security.xsrf)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package com.atlassian.jira.security.xsrf</require> <require extend="false" filter="(&amp;(package=com.atlassian.jira.user)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package com.atlassian.jira.user</require> <require extend="false" filter="(&amp;(package=com.atlassian.jira.user.preferences)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package com.atlassian.jira.user.preferences</require> <require extend="false" filter="(&amp;(package=com.atlassian.jira.user.util)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package com.atlassian.jira.user.util</require> <require extend="false" filter="(&amp;(package=com.atlassian.jira.util)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package com.atlassian.jira.util</require> <require extend="false" filter="(&amp;(package=com.atlassian.jira.util.velocity)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package com.atlassian.jira.util.velocity</require> <require extend="false" filter="(&amp;(package=com.atlassian.jira.web.action)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package com.atlassian.jira.web.action</require> <require extend="false" filter="(&amp;(package=com.atlassian.jira.web.bean)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package com.atlassian.jira.web.bean</require> <require extend="false" filter="(&amp;(package=com.atlassian.jira.workflow.function.issue)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package com.atlassian.jira.workflow.function.issue</require> <require extend="false" filter="(&amp;(package=com.atlassian.plugin)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package com.atlassian.plugin</require> <require extend="false" filter="(&amp;(package=com.atlassian.plugin.event.events)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package com.atlassian.plugin.event.events</require> <require extend="false" filter="(&amp;(package=com.atlassian.plugin.web)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package com.atlassian.plugin.web</require> <require extend="false" filter="(&amp;(package=com.atlassian.query)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package com.atlassian.query</require> <require extend="false" filter="(&amp;(package=com.atlassian.renderer)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package com.atlassian.renderer</require> <require extend="false" filter="(&amp;(package=com.atlassian.renderer.v2)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package com.atlassian.renderer.v2</require> <require extend="false" filter="(&amp;(package=com.atlassian.sal.api)(version&gt;=2.4.0))" multiple="false" name="package" optional="true">Import package com.atlassian.sal.api ;version=2.4.0</require> <require extend="false" filter="(&amp;(package=com.atlassian.sal.api.lifecycle)(version&gt;=2.4.0))" multiple="false" name="package" optional="true">Import package com.atlassian.sal.api.lifecycle ;version=2.4.0</require> <require extend="false" filter="(&amp;(package=com.atlassian.sal.api.message)(version&gt;=2.4.0))" multiple="false" name="package" optional="true">Import package com.atlassian.sal.api.message ;version=2.4.0</require> <require extend="false" filter="(&amp;(package=com.atlassian.sal.api.pluginsettings)(version&gt;=2.4.0))" multiple="false" name="package" optional="true">Import package com.atlassian.sal.api.pluginsettings ;version=2.4.0</require> <require extend="false" filter="(&amp;(package=com.atlassian.sal.api.scheduling)(version&gt;=2.4.0))" multiple="false" name="package" optional="true">Import package com.atlassian.sal.api.scheduling ;version=2.4.0</require> <require extend="false" filter="(&amp;(package=com.atlassian.sal.api.transaction)(version&gt;=2.4.0))" multiple="false" name="package" optional="true">Import package com.atlassian.sal.api.transaction ;version=2.4.0</require> <require extend="false" filter="(&amp;(package=com.atlassian.sal.api.user)(version&gt;=2.4.0))" multiple="false" name="package" optional="true">Import package com.atlassian.sal.api.user ;version=2.4.0</require> <require extend="false" filter="(&amp;(package=com.atlassian.upm.api.license)(version&gt;=2.7.0))" multiple="false" name="package" optional="true">Import package com.atlassian.upm.api.license ;version=2.7.0</require> <require extend="false" filter="(&amp;(package=com.atlassian.upm.api.license.entity)(version&gt;=2.7.0))" multiple="false" name="package" optional="true">Import package com.atlassian.upm.api.license.entity ;version=2.7.0</require> <require extend="false" filter="(&amp;(package=com.atlassian.upm.api.util)(version&gt;=2.7.0))" multiple="false" name="package" optional="true">Import package com.atlassian.upm.api.util ;version=2.7.0</require> <require extend="false" filter="(&amp;(package=com.atlassian.upm.license.storage.plugin)(version&gt;=2.7.0))" multiple="false" name="package" optional="true">Import package com.atlassian.upm.license.storage.plugin ;version=2.7.0</require> <require extend="false" filter="(&amp;(package=com.google.common.base)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package com.google.common.base</require> <require extend="false" filter="(&amp;(package=com.google.common.collect)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package com.google.common.collect</require> <require extend="false" filter="(&amp;(package=com.opensymphony.module.propertyset)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package com.opensymphony.module.propertyset</require> <require extend="false" filter="(&amp;(package=com.opensymphony.workflow)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package com.opensymphony.workflow</require> <require extend="false" filter="(&amp;(package=com.opensymphony.workflow.loader)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package com.opensymphony.workflow.loader</require> <require extend="false" filter="(&amp;(package=com.xpandit.jiraxporter.component.service)(version&gt;=2.9.0))" multiple="false" name="package" optional="true">Import package com.xpandit.jiraxporter.component.service ;version=2.9.0</require> <require extend="false" filter="(&amp;(package=com.xpandit.jiraxporter.component.service.dto)(version&gt;=2.9.0))" multiple="false" name="package" optional="true">Import package com.xpandit.jiraxporter.component.service.dto ;version=2.9.0</require> <require extend="false" filter="(&amp;(package=com.xpandit.jiraxporter.component.service.exception)(version&gt;=2.9.0))" multiple="false" name="package" optional="true">Import package com.xpandit.jiraxporter.component.service.exception ;version=2.9.0</require> <require extend="false" filter="(&amp;(package=javax.annotation)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package javax.annotation</require> <require extend="false" filter="(&amp;(package=javax.crypto)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package javax.crypto</require> <require extend="false" filter="(&amp;(package=javax.crypto.spec)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package javax.crypto.spec</require> <require extend="false" filter="(&amp;(package=javax.imageio)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package javax.imageio</require> <require extend="false" filter="(&amp;(package=javax.imageio.metadata)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package javax.imageio.metadata</require> <require extend="false" filter="(&amp;(package=javax.imageio.spi)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package javax.imageio.spi</require> <require extend="false" filter="(&amp;(package=javax.imageio.stream)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package javax.imageio.stream</require> <require extend="false" filter="(&amp;(package=javax.print)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package javax.print</require> <require extend="false" filter="(&amp;(package=javax.print.attribute)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package javax.print.attribute</require> <require extend="false" filter="(&amp;(package=javax.print.attribute.standard)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package javax.print.attribute.standard</require> <require extend="false" filter="(&amp;(package=javax.script)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package javax.script</require> <require extend="false" filter="(&amp;(package=javax.servlet)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package javax.servlet</require> <require extend="false" filter="(&amp;(package=javax.servlet.http)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package javax.servlet.http</require> <require extend="false" filter="(&amp;(package=javax.swing)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package javax.swing</require> <require extend="false" filter="(&amp;(package=javax.swing.text)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package javax.swing.text</require> <require extend="false" filter="(&amp;(package=javax.xml.parsers)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package javax.xml.parsers</require> <require extend="false" filter="(&amp;(package=javax.xml.transform)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package javax.xml.transform</require> <require extend="false" filter="(&amp;(package=javax.xml.transform.dom)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package javax.xml.transform.dom</require> <require extend="false" filter="(&amp;(package=javax.xml.transform.stream)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package javax.xml.transform.stream</require> <require extend="false" filter="(&amp;(package=javax.xml.xpath)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package javax.xml.xpath</require> <require extend="false" filter="(&amp;(package=net.jcip.annotations)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package net.jcip.annotations</require> <require extend="false" filter="(&amp;(package=org.apache.commons.io)(version&gt;=1.4.0))" multiple="false" name="package" optional="true">Import package org.apache.commons.io ;version=1.4.0</require> <require extend="false" filter="(&amp;(package=org.apache.commons.lang)(version&gt;=2.4.0))" multiple="false" name="package" optional="true">Import package org.apache.commons.lang ;version=2.4.0</require> <require extend="false" filter="(&amp;(package=org.apache.commons.lang.exception)(version&gt;=2.4.0))" multiple="false" name="package" optional="true">Import package org.apache.commons.lang.exception ;version=2.4.0</require> <require extend="false" filter="(&amp;(package=org.apache.log4j)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package org.apache.log4j</require> <require extend="false" filter="(&amp;(package=org.jfree.util)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package org.jfree.util</require> <require extend="false" filter="(&amp;(package=org.joda.time)(version&gt;=2.0.0))" multiple="false" name="package" optional="true">Import package org.joda.time ;version=2.0.0</require> <require extend="false" filter="(&amp;(package=org.ofbiz.core.entity)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package org.ofbiz.core.entity</require> <require extend="false" filter="(&amp;(package=org.osgi.framework)(version&gt;=1.5.0))" multiple="false" name="package" optional="true">Import package org.osgi.framework ;version=1.5.0</require> <require extend="false" filter="(&amp;(package=org.osgi.util.tracker)(version&gt;=1.4.0))" multiple="false" name="package" optional="true">Import package org.osgi.util.tracker ;version=1.4.0</require> <require extend="false" filter="(&amp;(package=org.springframework.beans)(version&gt;=2.5.0))" multiple="false" name="package" optional="true">Import package org.springframework.beans ;version=2.5.0</require> <require extend="false" filter="(&amp;(package=org.springframework.beans.factory)(version&gt;=2.5.0))" multiple="false" name="package" optional="true">Import package org.springframework.beans.factory ;version=2.5.0</require> <require extend="false" filter="(&amp;(package=org.springframework.beans.factory.config)(version&gt;=2.5.0))" multiple="false" name="package" optional="true">Import package org.springframework.beans.factory.config ;version=2.5.0</require> <require extend="false" filter="(&amp;(package=org.springframework.context)(version&gt;=2.5.0))" multiple="false" name="package" optional="true">Import package org.springframework.context ;version=2.5.0</require> <require extend="false" filter="(&amp;(package=org.springframework.osgi.context)(version&gt;=1.1.0))" multiple="false" name="package" optional="true">Import package org.springframework.osgi.context ;version=1.1.0</require> <require extend="false" filter="(&amp;(package=org.w3c.dom)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package org.w3c.dom</require> <require extend="false" filter="(&amp;(package=org.xml.sax)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package org.xml.sax</require> <require extend="false" filter="(&amp;(package=sun.misc)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package sun.misc</require> <require extend="false" filter="(&amp;(package=webwork.action)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package webwork.action</require> <require extend="false" filter="(&amp;(package=webwork.multipart)(version&gt;=0.0.0))" multiple="false" name="package" optional="true">Import package webwork.multipart</require> </resource> </repository>
The error:
Caused by: org.osgi.framework.BundleException: Unresolved constraint in bundle com.atlassian.plugins.tutorial.jira-menu-items [141]: Unable to resolve 141.0: missing requirement [141.0] package; (package=com.xpandit.jiraxporter.component.service)
Thank you.
Best,
Rui Rodrigues
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Does jiraxporter exports this service ? And also try adding wildcard to importpackage
com.xpandit.plugins.jiraxporter.*;version="2.9.5"
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Also noticed that the uri of the jiraxporter might be wrong - uri="jiraxporter-2.9.5.jar" - isn't it packaged in the "dependencies" folder inside the obr
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Yes, it does.
If the jiraxporter plugin is installed, the installation works fine, otherwise the error occurs.
The obr.xml already contains the uri="dependencies/jiraxporter-2.9.5.jar".
Thank you.
Best,
Rui
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Boris it's working. I think that it was not working due to pom.xml bad configuration. Thank you so much for your help.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi @Rui Rodrigues , Please, can you tel me what the problem exactly in the pom, I Have the same problem Thanks in advance
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.