Zookeeper 3.4.x is not OSGi compliant - MANIFEST.MF is flawed
-------------------------------------------------------------
Key: ZOOKEEPER-1334
URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1334
Project: ZooKeeper
Issue Type: Bug
Affects Versions: 3.4.0
Reporter: Claus Ibsen
In Zookeeper 3.3.x you use log4j for logging, and the maven dep is
eg from 3.3.4
{code}
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.15</version>
<scope>compile</scope>
</dependency>
{code}
Now in 3.4.0 or better you changed to use slf4j also/instead. The maven pom.xml
now includes:
{code}
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.6.1</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.6.1</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.15</version>
<scope>compile</scope>
</dependency>
{code}
But the META-INF/MANIFEST.MF file in the distribution did not change to reflect
this.
The 3.3.4 MANIFEST.MF, import packages
{code}
Import-Package: javax.management,org.apache.log4j,org.osgi.framework;v
ersion="[1.4,2.0)",org.osgi.util.tracker;version="[1.1,2.0)"
{code}
And the 3.4.1 MANIFEST.MF, import packages:
{code}
Import-Package: javax.management,org.apache.log4j,org.osgi.framework;v
ersion="[1.4,2.0)",org.osgi.util.tracker;version="[1.1,2.0)"
{code}
This makes using zookeeper 3.4.x in OSGi environments not possible, as we get
NoClassDefFoundException for slf4j classes.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira