[
https://issues.apache.org/jira/browse/ZOOKEEPER-1334?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13174138#comment-13174138
]
Claus Ibsen commented on ZOOKEEPER-1334:
----------------------------------------
And if you no longer uses log4j directly in zookeeper, then i suggest to mark
its maven dependency as <scope>test</scope>. Then end users of zookeeper who
uses maven do not depend on log4j. They may use another logger such as logback
or java util logging etc.
Also if so then the import of org.apache.log4j should be removed from the
MANIFEST.MF for OSGi end users.
> 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