[slf4j-user] (2nd try with correction) Manifest of log4j-over-slf4j 1.7.35: Invalid under OSGi

Daniel Krügler Daniel.Kruegler at gmx.de
Tue Feb 8 17:02:17 CET 2022


Hi again,

[In a previous posting I attempted to report an issue with an slf4
artifact, but due to a (even repeated) typo, the previous reporting was
confusing and misleading. My apologize for that. This is the corrected
version for the report:]

During our attempt to upgrade to the most recent 1.7.35 slf4j bundles we
noticed the following problem. The artifact

    <groupId>org.slf4j</groupId>
     <artifactId>log4j-over-slf4j</artifactId>
     <version>1.7.35</version>

available from here:

https://repo1.maven.org/maven2/org/slf4j/log4j-over-slf4j/1.7.35/log4j-over-slf4j-1.7.35.jar

contains a Manifest.MF, whose Export-Package entry is invalid under
OSGi, because its exported versions are non-numeric and seem to be
left-overs of an incomplete property resolution process:

Export-Package: org.apache.log4j;version=${log4j.version},org.apache.l
  og4j.helpers;version=${log4j.version},org.apache.log4j.spi;version=${
  log4j.version},org.apache.log4j.xml;version=${log4j.version}

Please note the multiple occurrences of ${log4j.version} above. In our
OSGi container (An Eclipse RCP client), this bundle is not accepted. For
example our Eclipse PDE build reports:

java.lang.IllegalArgumentException: invalid version "${log4j.version}":
non-numeric "${log4j"

Of all bundles that originate from the org.slf4j groupId and that we are
using, we only found this problem in the log4j-over-slf4j artifact
(Bundle-SymbolicName: log4j.over.slf4j).

This problem currently prevents us from using the most recent 1.7
release branch of slf4j.

Thanks,

- Daniel



More information about the slf4j-user mailing list