Tomcat Reports Package Scanner Found Duplicates when Starting JIRA
Symptoms
When JIRA is started, Tomcat will report WARN
errors, indicating duplicate packages are found.
The following appears in the atlassian-jira.log
:
2012-12-08 04:50:09,499 pool-2-thread-1 INFO [atlassian.plugin.manager.DefaultPluginManager] Initialising the plugin system
2012-12-08 04:50:10,236 pool-2-thread-1 WARN [org.twdata.pkgscanner.ExportPackageListBuilder] Package Scanner found duplicates for package 'javax.el' with different versions. Files: tomcat-el-api-2.2.jar and tomcat-i18n-es-7.0.26.jar
'/usr/share/java/tomcat-el-api-2.2.jar'
'/usr/share/java/tomcat-i18n-es-7.0.26.jar'
2012-12-08 04:50:10,321 pool-2-thread-1 WARN [org.twdata.pkgscanner.ExportPackageListBuilder] Package Scanner found duplicates for package 'javax.el' with different versions. Files: tomcat-i18n-es-7.0.26.jar and tomcat-el-api-2.2.jar
'/usr/share/java/tomcat-i18n-es-7.0.26.jar'
'/usr/share/java/tomcat-el-api-2.2.jar'
2012-12-08 04:50:10,331 pool-2-thread-1 WARN [org.twdata.pkgscanner.ExportPackageListBuilder] Package Scanner found duplicates for package 'org.apache.commons.pool.impl' with different versions. Files: commons-pool-1.5.4.jar and commons-pool-1.5.6.jar
'/var/lib/tomcat7/webapps/jira_5.2.1/WEB-INF/lib/commons-pool-1.5.4.jar'
'/usr/share/java/commons-pool-1.5.6.jar'
Cause
Java packages (JAR files) in Tomcat, Java and JIRA's lib
directories are conflicting, indicating there are multiple versions installed for the same Java package. This error is more likely to occur on Tomcat EAR/WAR installations.
Resolution
As per updating your Tomcat libraries, ensure that if installing JIRA WAR into a Tomcat that is not bundled, there are no conflicting Java packages. In the above example:
- The
Tomcat-i18n-es
package relates to Spanish translations and can be safely ignored. If Spanish translations are not required, this package can be removed. - The
commons-pool
package conflict can cause problems as there are version mismatches, and JIRA have may not been tested with the 1.5.6 version. This could cause problems with the usage of JIRA and the recommended fix is to remove thecommons-pool
package from Tomcat.
These JARs are actually located in /usr/share/tomcat7/lib
- they are symbolic links to /usr/share/java
. For example:
[aquaman@avengersmansion|16:10:52 /usr/share/tomcat7/lib]
$ ll commons-pool.jar
lrwxrwxrwx 1 root root 27 2011-09-08 23:24 commons-pool.jar -> ../../java/commons-pool.jar
They can be removed by removing the symbolic link in /usr/share/tomcat7/lib
. This will prevent other WAR files from using them, however we do not support deployment of multiple applications into the same Tomcat.
We recommend using the bundled Tomcat installer as it is significantly easier to use, maintain, upgrade and support. Additionally, these instructions are for Debian/Ubuntu. If you have any concerns about using them, please use the recommended installer, as in our Installing JIRA docs.