title: OSGI bundle exception caused by a 'uses constraint violation'
body: <p>I'm trying to extend a rule in the eclipse PMD plugin via a plugin fragment. When I try to test my code I get this error which seems to be caused by one of my plugin's dependency projects. </p>
  
  <pre><code>!ENTRY net.sourceforge.pmd.eclipse.plugin 4 0 2015-06-17 09:30:10.972
  !MESSAGE FrameworkEvent ERROR
  !STACK 0
  org.osgi.framework.BundleException: Could not resolve module: net.sourceforge.pmd.eclipse.plugin [1086]
    Bundle was not resolved because of a uses contraint violation.
    org.osgi.service.resolver.ResolutionException: Uses constraint violation. Unable to resolve resource net.sourceforge.pmd.eclipse.plugin [osgi.identity; osgi.identity="net.sourceforge.pmd.eclipse.plugin"; type="osgi.bundle"; version:Version="4.0.7.v20150522-1709"; singleton:="true"] because it exports package 'org.apache.log4j' and is also exposed to it from resource org.apache.log4j [osgi.identity; osgi.identity="org.apache.log4j"; type="osgi.bundle"; version:Version="1.2.15.v201012070815"] via the following dependency chain:
  
    net.sourceforge.pmd.eclipse.plugin [osgi.identity; osgi.identity="net.sourceforge.pmd.eclipse.plugin"; type="osgi.bundle"; version:Version="4.0.7.v20150522-1709"; singleton:="true"]
      require: (&amp;(osgi.wiring.bundle=de.fu_berlin.inf.archnemesis)(bundle-version&gt;=1.0.0))
       |
      provide: osgi.wiring.bundle; osgi.wiring.bundle="de.fu_berlin.inf.archnemesis"; bundle-version:Version="1.0.0.qualifier"; singleton:="true"
    org.eclipse.xtext.util [osgi.identity; osgi.identity="org.eclipse.xtext.util"; type="osgi.bundle"; version:Version="2.8.3.v201506010551"]
      import: (&amp;(osgi.wiring.package=org.apache.log4j)(version&gt;=1.2.15))
       |
      export: osgi.wiring.package: org.apache.log4j
    org.apache.log4j [osgi.identity; osgi.identity="org.apache.log4j"; type="osgi.bundle"; version:Version="1.2.15.v201012070815"]
      at org.eclipse.osgi.container.Module.start(Module.java:434)
      at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1582)
      at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1561)
      at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1533)
      at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1476)
      at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
      at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
      at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
  </code></pre>
  
  <p>Can anyone decode what this error message means and how to fix it? </p>