
Java 9 modularization ===================== I am pleased to announce SLF4J 1.8.0-alpha0, a modularized version of slf4j compatible with Java 9 and in particular its Java Platform Module System (JSR 376), a.k.a project Jigsaw. Although there are no client facing API changes in 1.8.0-beta0 release, the static binding mechanism has been abandoned in favor of java.util.ServiceLoader introduced in Java 6. It follows that slf4j-api now requires Java 6. Just as importantly, slf4j-api version 1.8.x will no longer search for the StaticLoggerBinder class. Instead of "bindings" now slf4j-api looks for "providers" which ship with slf4j-nop-1.8.x.jar, slf4j-simple-1.8.x.jar or slf4j-jdk14-1.8.x.jar. Given that having the same package name in different modules is a showstopper in Java 9, the org.slf4j.impl package has been removed from all slf4j modules in slf4j version 1.8.0-beta0. In other words, starting with slf4j 1.8.0-beta0, "providers" will no longer act as 1.7.x/1.6.x "bindings". This is in contrast to 1.8.0-alpha series where providers also acted as bindings. For example, having slf4j-api-1.8.x.jar and slf4j-simple-1.7.x.jar on the class path will NOT work. Moreover, having slf4j-api-1.7.x.jar and slf4j-simple-1.8.x.jar on the class path will NOT work either. The only version combination for slf4j-api+slf4j-simple is version 1.8.x for both artifacts. Download ======== The relevant artifacts can be obtained via the Maven central repository. OSGi changes ============ While we expect the changes introduced in SLF4J 1.8.x to be rather transparent to users, given JPMS restrictions, implementations had to be moved from the org.slf4.impl package to packages specific to each provider. Consequently, the OSGi declarations in MANIFEST.MF files had to be modified. Our tests indicate that SLF4J version 1.8.x should work fine with OSGi. However, more in depth testing is in order. We are looking for volunteers for such tests. The slf4j-log4j12 module ======================== Due to technical reasons, slf4j-log4j12 could not be modularized in this alpha0 release. However, we expect the problem to be solved in future 1.8.x releases. Announcement mailing list ========================= You can receive SLF4J related announcements by subscribing to the SLF4J announce mailing list. To subscribe to QOS.ch announce list, please visit the following URL. http://www.qos.ch/mailman/listinfo/announce You may also receive announcements via twitter: https://twitter.com/qos_ch Enjoy, -- Ceki Gülcü