Maven dependency not resolved for apache commons

We have been working on JIRA plugin development and using apache-commons library for file upload purpose as follows:

<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.2</version>
<scope>provided</scope>
</dependency>

Generated plugin is working fine on atlas development environment but while uploading the generated Jar on JIRA, following error is being displayed in logs.

2017-12-11 09:49:53,841 UpmAsynchronousTaskManager:thread-3 
 ERROR jira.admin 357x1243x1 1ycla6b 14.102.4.74,13.58.31.162 /rest/plugins/1.0/ 
 [c.a.p.osgi.factory.OsgiPlugin] Detected an error (BundleException) enabling the plugin 'com.atlassian.tutorial.myPlugin' :
 Unresolved constraint in bundle com.atlassian.tutorial.myPlugin [237]: Unable to resolve 237.0: missing requirement [237.0] 
 osgi.wiring.package; (osgi.wiring.package=org.apache.commons.fileupload).  
 This error usually occurs when your plugin imports a package from another bundle with a specific version constraint and either the bundle providing that package doesn't meet those version constraints,
 or there is no bundle available that provides the specified package. For more details on how to fix this, see https://developer.atlassian.com/x/mQAN

After going through various threads to resolve this issue we have tried the following.
1: Tried used different versions of Apache-Common 1.3.2 OR 1.3 OR 1.2.x etc…
2: Instead of using the maven we have directly uploaded the .jar file inside the lib folder and updated dependency section as well. None of above worked so far.

Here is the POM.XML file:

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.atlassian.tutorial</groupId>
    <artifactId>myPlugin</artifactId>
    <version>1.0.0-SNAPSHOT</version>
    <organization>
        <name>Atlassian SDK Tutorial</name>
        <url>http://developer.atlassian.com/</url>
    </organization>
    <name>myPlugin</name>
    <description>This is the com.atlassian.tutorial:myPlugin plugin for Atlassian JIRA.</description>
    <packaging>atlassian-plugin</packaging>
    <dependencies>
        <dependency>
            <groupId>com.atlassian.jira</groupId>
            <artifactId>jira-api</artifactId>
            <version>${jira.version}</version>
            <scope>provided</scope>
        </dependency>
        <!-- Add dependency on jira-core if you want access to JIRA implementation classes as well as the sanctioned API. -->
        <!-- This is not normally recommended, but may be required eg when migrating a plugin originally developed against JIRA 4.x -->
        <!--
        <dependency>
            <groupId>com.atlassian.jira</groupId>
            <artifactId>jira-core</artifactId>
            <version>${jira.version}</version>
            <scope>provided</scope>
        </dependency>
        -->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.10</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.plugin</groupId>
            <artifactId>atlassian-spring-scanner-annotation</artifactId>
            <version>${atlassian.spring.scanner.version}</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.activeobjects</groupId>
            <artifactId>activeobjects-plugin</artifactId>
            <version>1.2.3</version>
            <scope>provided</scope>
        </dependency>
       <!-- <dependency>
            <groupId>org.apache.velocity</groupId>
            <artifactId>velocity-tools</artifactId>
            <version>1.3</version>
        </dependency>-->
        <!--<dependency>
            <groupId>info.bliki.wiki</groupId>
            <artifactId>bliki-core</artifactId>
            <version>3.0.19</version>
        </dependency>-->
        <dependency>
            <groupId>com.atlassian.plugin</groupId>
            <artifactId>atlassian-spring-scanner-runtime</artifactId>
            <version>${atlassian.spring.scanner.version}</version>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>javax.inject</groupId>
            <artifactId>javax.inject</artifactId>
            <version>1</version>
            <scope>provided</scope>
        </dependency>
        <!-- WIRED TEST RUNNER DEPENDENCIES -->
        <dependency>
            <groupId>com.atlassian.plugins</groupId>
            <artifactId>atlassian-plugins-osgi-testrunner</artifactId>
            <version>${plugin.testrunner.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>javax.ws.rs</groupId>
            <artifactId>jsr311-api</artifactId>
            <version>1.1.1</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.google.code.gson</groupId>
            <artifactId>gson</artifactId>
            <version>2.2.2-atlassian-1</version>
        </dependency>
        <!-- Uncomment to use TestKit in your project. Details at https://bitbucket.org/atlassian/jira-testkit -->
        <!-- You can read more about TestKit at https://developer.atlassian.com/display/JIRADEV/Plugin+Tutorial+-+Smarter+integration+testing+with+TestKit -->
        <!--
        <dependency>
            <groupId>com.atlassian.jira.tests</groupId>
            <artifactId>jira-testkit-client</artifactId>
            <version>${testkit.version}</version>
            <scope>test</scope>
        </dependency>
        -->
        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-all</artifactId>
            <version>1.8.5</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.6.6</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpclient</artifactId>
            <version>4.1.1</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>2.4</version>
            <scope>provided</scope>
        </dependency>
        <!--<dependency>
            <groupId>commons-fileupload</groupId>
            <artifactId>commons-fileupload</artifactId>
            <version>1.3.2</version>
            <scope>provided</scope>
        </dependency>-->
        <dependency>
            <artifactId>commons-fileupload</artifactId>
            <groupId>commons-fileupload</groupId>
            <version>1.3.2</version>
            <scope>system</scope>
            <systemPath>${basedir}/lib/commons-fileupload-1.3.2.jar</systemPath>
            <extractDependencies>false</extractDependencies>
        </dependency>
        <dependency>
            <groupId>com.atlassian.templaterenderer</groupId>
            <artifactId>atlassian-template-renderer-api</artifactId>
            <version>1.3.1</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>
                    <!-- Uncomment to install TestKit backdoor in JIRA. -->
                    <!--
                    <pluginArtifacts>
                        <pluginArtifact>
                            <groupId>com.atlassian.jira.tests</groupId>
                            <artifactId>jira-testkit-plugin</artifactId>
                            <version>${testkit.version}</version>
                        </pluginArtifact>
                    </pluginArtifacts>
                    -->
                    <enableQuickReload>true</enableQuickReload>
                    <enableFastdev>false</enableFastdev>
                    <!-- See here for an explanation of default instructions: -->
                    <!-- https://developer.atlassian.com/docs/advanced-topics/configuration-of-instructions-in-atlassian-plugins -->
                    <instructions>
                       <!-- <Atlassian-Plugin-Key>${atlassian.plugin.key}</Atlassian-Plugin-Key>-->
                        <!-- Add package to export here -->
                        <Export-Package><com class="atlassian tut"></com>orial.myPlugin.api,</Export-Package>
                        <!-- Add package import here -->
                        <Import-Package>org.springframework.osgi.*;resolution:="optional", org.eclipse.gemini.blueprint.*;resolution:="optional", *</Import-Package>
                        <!-- Ensure plugin is spring powered -->
                        <Spring-Context>*</Spring-Context>
                    </instructions>
                </configuration>
            </plugin>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <fork>true</fork>
                    <executable>C:\Program Files\Java\jdk1.8.0_151\bin\javac</executable>
                </configuration>
            </plugin>
            <plugin>
                <groupId>com.atlassian.plugin</groupId>
                <artifactId>atlassian-spring-scanner-maven-plugin</artifactId>
                <version>${atlassian.spring.scanner.version}</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>atlassian-spring-scanner</goal>
                        </goals>
                        <phase>process-classes</phase>
                    </execution>
                </executions>
                <configuration>
                    <scannedDependencies>
                        <dependency>
                            <groupId>com.atlassian.plugin</groupId>
                            <artifactId>atlassian-spring-scanner-external-jar</artifactId>
                        </dependency>
                    </scannedDependencies>
                    <verbose>false</verbose>
                </configuration>
            </plugin>
        </plugins>
    </build>
    <properties>
        <jira.version>7.5.0</jira.version>
        <amps.version>6.3.6</amps.version>
        <jdkLevel>1.8</jdkLevel>
        <plugin.testrunner.version>1.2.3</plugin.testrunner.version>
        <atlassian.spring.scanner.version>1.2.13</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>
        <template.renderer.version>1.3.1</template.renderer.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>
</project>

We need guidance for troubleshooting/resolving above explained issue.

Hi, @khushwant.dhayal.

Have you tried a different scope (maybe compile) for commons-fileupload? Since you tagged it as provided, not sure if any of your dependency jars indeed provide that JAR.

Cheers,
Ian

Hi @iragudo.

We have tried using the following options:

  • Optional
  • Provided
  • Compile
    But it doesn’t work with any of the following.

Also the same is working on the JIRA development mode.

Thanks,
Ankur

Hi, @khushwant.dhayal.

This is an interesting case; I have not experienced such errors. Kindly check the manifest.mf of your app if the classes you need are shown in there, if not kindly add it in <ImportPackage> in your POM.

There’s also a suggestion mentioned in this documentation.

Hi @iragudo,

Thanks for your response.

Yes we have tried using as well but still no luck.

This problem is arising if we try to use any 3rd party external dependency using POM and it is failing while deploying that Jar over JIRA environment.

Issue seems mainly related to packaging of JAR as error consists of the following line:

osgi.wiring.package; (osgi.wiring.package=org.apache.commons.fileupload)

Could you please share any example with us where 3rd party dependency is being used during plugin development and we should be able to review our POM file.

Thanks,
Ankur

Hi, @khushwant.dhayal.

I found a project we worked on before that used commons-fileupload artifact. Although this is for Confluence Server, the dependencies, exclusions, and importing projects part might be of help.

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

	<modelVersion>4.0.0</modelVersion>
	<groupId>com.test</groupId>
	<artifactId>dependency-test</artifactId>
	<version>1.14.7</version>

	<organization>
		<name>Example Corp</name>
		<url>http://www.example.com/</url>
	</organization>

	<name>Test plugin</name>
	<description>Demonstrates class loading</description>
	<packaging>atlassian-plugin</packaging>

	<dependencies>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.10</version>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>com.atlassian.confluence</groupId>
			<artifactId>confluence</artifactId>
			<version>5.9.6</version>
			<scope>provided</scope>
			<exclusions>
				<exclusion>
					<groupId>javax.resource</groupId>
					<artifactId>connector</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

		<!-- WIRED TEST RUNNER DEPENDENCIES -->
		<dependency>
			<groupId>com.atlassian.plugins</groupId>
			<artifactId>atlassian-plugins-osgi-testrunner</artifactId>
			<version>1.2.3</version>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>javax.ws.rs</groupId>
			<artifactId>jsr311-api</artifactId>
			<version>1.1.1</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>com.google.code.gson</groupId>
			<artifactId>gson</artifactId>
			<version>2.2.2-atlassian-1</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>com.googlecode.json-simple</groupId>
			<artifactId>json-simple</artifactId>
			<version>1.1.1</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>com.googlecode.plist</groupId>
			<artifactId>dd-plist</artifactId>
			<version>1.8</version>
			<scope>compile</scope>
		</dependency>

		<dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
			<artifactId>jackson-databind</artifactId>
			<version>2.5.4</version>
			<scope>compile</scope>
		</dependency>

		<dependency>
			<groupId>org.apache.poi</groupId>
			<artifactId>poi-ooxml</artifactId>
			<version>3.12</version>
			<scope>compile</scope>
			<exclusions>
				<exclusion>
					<groupId>stax</groupId>
					<artifactId>stax-api</artifactId>
				</exclusion>
				<exclusion>
					<groupId>xml-apis</groupId>
					<artifactId>xml-apis</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

		<dependency>
			<groupId>org.apache.commons</groupId>
			<artifactId>commons-lang3</artifactId>
			<version>3.0</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>org.apache.commons</groupId>
			<artifactId>commons-math3</artifactId>
			<version>3.2</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>org.apache.httpcomponents</groupId>
			<artifactId>fluent-hc</artifactId>
			<version>4.4.1</version>
			<scope>compile</scope>
		</dependency>

		<dependency>
			<groupId>com.atlassian.upm</groupId>
			<artifactId>plugin-license-storage-lib</artifactId>
			<version>${upm.license.compatibility.version}</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>com.atlassian.upm</groupId>
			<artifactId>plugin-license-storage-plugin</artifactId>
			<version>${upm.license.compatibility.version}</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>com.atlassian.upm</groupId>
			<artifactId>licensing-api</artifactId>
			<version>${upm.license.compatibility.version}</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>com.atlassian.upm</groupId>
			<artifactId>upm-api</artifactId>
			<version>${upm.license.compatibility.version}</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>com.atlassian.sal</groupId>
			<artifactId>sal-api</artifactId>
			<version>3.0.0</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>com.atlassian.templaterenderer</groupId>
			<artifactId>atlassian-template-renderer-api</artifactId>
			<version>${atlassian.templaterenderer.version}</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>commons-lang</groupId>
			<artifactId>commons-lang</artifactId>
			<version>2.4</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>org.mockito</groupId>
			<artifactId>mockito-all</artifactId>
			<version>1.9.0</version>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>org.springframework.osgi</groupId>
			<artifactId>spring-osgi-core</artifactId>
			<version>1.1.3</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-api</artifactId>
			<version>1.6.6</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>org.mockito</groupId>
			<artifactId>mockito-all</artifactId>
			<version>1.8.5</version>
			<scope>test</scope>
		</dependency>

		<dependency><!-- new correct servlets-3 dependency -->
			<groupId>javax.servlet</groupId>
			<artifactId>javax.servlet-api</artifactId>
			<version>3.0.1</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>commons-io</groupId>
			<artifactId>commons-io</artifactId>
			<version>2.4</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>joda-time</groupId>
			<artifactId>joda-time</artifactId>
			<version>2.0</version>
			<scope>compile</scope>
		</dependency>

		<dependency>
			<groupId>commons-fileupload</groupId>
			<artifactId>commons-fileupload</artifactId>
			<version>1.2</version>
			<scope>provided</scope>
		</dependency>

		<!-- This is for the annotations you need to indicate components and OSGI 
			services. -->
		<dependency>
			<groupId>com.atlassian.plugin</groupId>
			<artifactId>atlassian-spring-scanner-annotation</artifactId>
			<version>${atlassian.spring.scanner.version}</version>
			<scope>compile</scope>
		</dependency>

		<!-- This is the runtime code for interpreting the build time index files -->
		<dependency>
			<groupId>com.atlassian.plugin</groupId>
			<artifactId>atlassian-spring-scanner-runtime</artifactId>
			<version>${atlassian.spring.scanner.version}</version>
			<scope>runtime</scope>
		</dependency>

		<dependency>
			<groupId>com.atlassian.confluence.plugins</groupId>
			<artifactId>confluence-extractor-api-plugin</artifactId>
			<version>${confluence-extractor-api-plugin.version}</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>com.atlassian.labs</groupId>
			<artifactId>lucene-compat-plugin</artifactId>
			<version>${lucene-compat-plugin.version}</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>com.atlassian.jira</groupId>
			<artifactId>jira-issue-link-remote-jira-plugin</artifactId>
			<version>7.4.0</version>
			<scope>provided</scope>
		</dependency>

	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>com.atlassian.maven.plugins</groupId>
				<artifactId>maven-confluence-plugin</artifactId>
				<version>6.2.11</version>
				<extensions>true</extensions>
				<configuration>
					<productVersion>5.9.6</productVersion>
					<productDataVersion>5.9.6</productDataVersion>
					<!-- strictmode causes a dev mode exception when viewing the scheduled 
						jobs page -->
					<jvmArgs>-Xmx8192m -Xms2048m
						-Dconfluence.velocity.deprecation.strictmode=false
						-Dreza.port=8095 -Dsynchrony.port=8095
						-Dsynchrony.proxy.enabled=true</jvmArgs>
					<compressResources>false</compressResources>

					<enableFastdev>false</enableFastdev>
					<enableDevToolbox>false</enableDevToolbox>
					<enablePde>false</enablePde>
					<skipRestDocGeneration>true</skipRestDocGeneration>
					<allowGoogleTracking>false</allowGoogleTracking>
					<skipManifestValidation>true</skipManifestValidation>
					<extractDependencies>false</extractDependencies>
					<skipManifestValidation>true</skipManifestValidation>

					<instructions>
						<Atlassian-Plugin-Key>com.test.dependency-test</Atlassian-Plugin-Key>
						<Private-Package>com.atlassian.upm.license.storage.lib*</Private-Package>
						<Import-Package>
							org.springframework.osgi.*;resolution:=optional,
							org.eclipse.gemini.blueprint.*;resolution:=optional,
							com.atlassian.plugin.osgi.bridge.external,
							com.ctc.wstx.stax,
							com.atlassian.confluence.plugins.index.api;version="[1,2)",
							*;resolution:=optional
						</Import-Package>
						<Require-Bundle>
							com.atlassian.confluence.plugins.confluence-extractor-api-plugin;bundle-version="${confluence-extractor-api-plugin.version}",
							com.atlassian.labs.lucene-compat-plugin;bundle-version="${lucene-compat-plugin.version}",
						</Require-Bundle>
						<Spring-Context>*</Spring-Context>
					</instructions>
					<!-- this section declares the following as dependent bundles to be 
						incorporated into the OBR -->
					<pluginDependencies>
						<pluginDependency>
							<groupId>com.atlassian.confluence.plugins</groupId>
							<artifactId>confluence-extractor-api-plugin</artifactId>
						</pluginDependency>
						<pluginDependency>
							<groupId>com.atlassian.labs</groupId>
							<artifactId>lucene-compat-plugin</artifactId>
						</pluginDependency>
					</pluginDependencies>
					<libArtifacts>
						<artifact>
							<groupId>com.h2database</groupId>
							<artifactId>h2</artifactId>
							<version>1.4.191</version>
						</artifact>
					</libArtifacts>
					<bundledArtifacts>
						<bundledArtifact>
							<groupId>com.atlassian.upm</groupId>
							<artifactId>plugin-license-storage-plugin</artifactId>
							<version>${upm.license.compatibility.version}</version>
						</bundledArtifact>
						<bundledArtifact>
							<groupId>com.atlassian.labs.plugins</groupId>
							<artifactId>quickreload</artifactId>
							<version>1.30.1</version>
						</bundledArtifact>
						<bundledArtifact>
							<groupId>com.atlassian.confluence.plugins</groupId>
							<artifactId>confluence-extractor-api-plugin</artifactId>
						</bundledArtifact>
						<bundledArtifact>
							<groupId>com.atlassian.labs</groupId>
							<artifactId>lucene-compat-plugin</artifactId>
						</bundledArtifact>
					</bundledArtifacts>
				</configuration>
			</plugin>
			<plugin>
				<artifactId>maven-compiler-plugin</artifactId>
				<configuration>
					<source>1.8</source>
					<target>1.8</target>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>build-helper-maven-plugin</artifactId>
				<version>1.7</version>
				<executions>
					<execution>
						<id>add-resource</id>
						<phase>generate-sources</phase>
						<goals>
							<goal>add-resource</goal>
						</goals>
						<configuration>
							<resources>
								<resource>
									<directory>../visio-service/conf</directory>
									<filtering>true</filtering>
									<includes>
										<include>chunks_parse_cmds.tbl</include>
									</includes>
								</resource>
							</resources>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<artifactId>maven-dependency-plugin</artifactId>
				<executions>
					<execution>
						<id>copy-storage-plugin</id>
						<phase>process-resources</phase>
						<goals>
							<goal>copy-dependencies</goal>
						</goals>
						<configuration>
							<outputDirectory>${project.build.outputDirectory}</outputDirectory>
							<includeArtifactIds>plugin-license-storage-plugin</includeArtifactIds>
							<stripVersion>true</stripVersion>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>com.atlassian.plugin</groupId>
				<artifactId>atlassian-spring-scanner-maven-plugin</artifactId>
				<version>${atlassian.spring.scanner.version}</version>
				<executions>
					<execution>
						<goals>
							<goal>atlassian-spring-scanner</goal>
						</goals>
						<phase>process-classes</phase>
					</execution>
				</executions>
				<configuration>
					<scannedDependencies>
						<dependency>
							<groupId>com.atlassian.plugin</groupId>
							<artifactId>atlassian-spring-scanner-external-jar</artifactId>
						</dependency>
					</scannedDependencies>
					<verbose>true</verbose>
				</configuration>
			</plugin>
		</plugins>
	</build>
	<properties>
		<upm.license.compatibility.version>2.4.1</upm.license.compatibility.version>
		<atlassian.templaterenderer.version>1.0.5</atlassian.templaterenderer.version>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<atlassian.spring.scanner.version>1.2.8</atlassian.spring.scanner.version>
		<confluence-extractor-api-plugin.version>1.0.1</confluence-extractor-api-plugin.version>
		<lucene-compat-plugin.version>1.1.1</lucene-compat-plugin.version>
	</properties>
</project>

Cheers

Hi @iragudo

There is no difference between POM used by you and above POM file still it is not working once we upload it to JIRA. Should we upgrade our JIRA environment?

Anything else that you will like to recommend to us?

Thanks,
Ankur

Hi @khushwant.dhayal, this link might be of help. Try the Felix web console and check from there.