Since this issue will affect all Scala users for the foreseeable future, I'll cut a new release without JSR 305 annotations.
On 12/16/2014 19:17, Elliot Huntington wrote:
I understand now. Thank you Robert. On Tue, Dec 16, 2014 at 10:46 AM, Robert Elliot <[email protected] <mailto:[email protected]>> wrote: It’s a scalac bug, not an SLF4J bug. See here: https://issues.scala-lang.org/browse/SI-5420On 16 Dec 2014, at 17:30, Elliot Huntington <[email protected] <mailto:[email protected]>> wrote: Please see the attached sscce and the bundled build.gradle file. It contains notes on how to reproduce the problem. It is configured by default to produce the problem. If you comment out the dependency for slf4j-api version 1.7.8 and add the line for the dependency to version 1.7.7, everything works fine. Please be sure to run the sscce with the following to make sure you're not caching any dependencies: $ gradle clean run ------ Here is my environment configuration ------ $ uname -a Linux machinename 3.13.0-24-generic #47-Ubuntu SMP Fri May 2 23:30:00 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux (This is Linux Mint 17 with Cinnamon) export JAVA_HOME=/home/username/apps/java_home export GRADLE_HOME=/home/username/apps/gradle_home export SCALA_HOME=/home/username/apps/scala-2.10.3 $ java -version java version "1.7.0_55" Java(TM) SE Runtime Environment (build 1.7.0_55-b13) Java HotSpot(TM) 64-Bit Server VM (build 24.55-b03, mixed mode) $ scala -version Scala code runner version 2.10.3 -- Copyright 2002-2013, LAMP/EPFL $ gradle --version ------------------------------------------------------------ Gradle 1.12 ------------------------------------------------------------ Build time: 2014-04-29 09:24:31 UTC Build number: none Revision: a831fa866d46cbee94e61a09af15f9dd95987421 Groovy: 1.8.6 Ant: Apache Ant(TM) version 1.9.3 compiled on December 23 2013 Ivy: 2.2.0 JVM: 1.7.0_55 (Oracle Corporation 24.55-b03) OS: Linux 3.13.0-24-generic amd64 On Mon, Dec 15, 2014 at 11:55 PM, Robert Elliot <[email protected] <mailto:[email protected]>> wrote: He's writing Scala - the Scala compiler needs all annotation classes on the compile time class path, unlike javac which doesn't mind them. > On 16 Dec 2014, at 06:24, Ceki Gülcü <[email protected] <mailto:[email protected]>> wrote: > > > I am assuming it's a build time error (not runtime) and you are using gradle. Can you clean gradle cache? > >> On 12/16/2014 7:22, Ceki Gülcü wrote: >> Hi Elliot, >> >> We added the JSR 305 @Nonnull into ILoggerFactory interface and >> LoggerFactory class in version 1.7.8. >> >> I have just verified that client code builds just fine without >> com.google.code.findbugs:jsr305 being present on the class path. >> >> Can you tell use more about your build environment. JDK version. Build >> tool etc. >> >> Are you doing a clean build? >> >> Cheers, >> >> -- >> Ceki >> >>> On 12/15/2014 23:58, Elliot Huntington wrote: >>> slf4j-api version 1.7.8 was released to the maven central repository on >>> 2014-12-14, which was yesterday. Today one of my builds that depended on >>> slf4j-api with a version range from 1.7.5 -> 1.7.8 started to break. I'm >>> getting error messages like this: >>> >>> Class javax.annotation.Nonnull not found - continuing with a stub. >>> Caught: java.lang.NullPointerException while parsing annotations in >>> /home/username/.gradle/caches/modules-2/files-2.1/org.slf4j/slf4j-api/1.7.8/40d4abec9e853fd9f17fb144f1e7c2c5bab52af9/slf4j-api-1.7.8.jar(org/slf4j/LoggerFactory.class) >>> >>> error while loading LoggerFactory, class file >>> '/home/username/.gradle/caches/modules-2/files-2.1/org.slf4j/slf4j-api/1.7.8/40d4abec9e853fd9f17fb144f1e7c2c5bab52af9/slf4j-api-1.7.8.jar(org/slf4j/LoggerFactory.class)' >>> >>> is broken >>> (class java.lang.RuntimeException/bad constant pool index: 0 at pos: >>> 9496) >>> /home/username/projects/1.0.5-gradle/common/src/main/scala/company/product/common/LogHelper.scala:14: >>> >>> value getLogger is not a member of object org.slf4j.LoggerFactory >>> lazy val logger = LoggerFactory.getLogger(this.getClass) >>> ^ >>> >>> Has getLogger purposefully been removed from the slf4j-api version 1.7.8 >>> or is it possible that the artifact uploaded to the maven central >>> repository is corrupted? This is a breaking change. >>> >>> After excluding all transitive dependencies to slf4j-api from my project >>> and explicitly using version 1.7.7, my project builds fine again. What >>> happened in version 1.7.8 that was released to the maven central >>> repository yesterday? >>> >>> >>> _______________________________________________ >>> slf4j-user mailing list >>> [email protected] <mailto:[email protected]> >>> http://mailman.qos.ch/mailman/listinfo/slf4j-user >> _______________________________________________ >> slf4j-user mailing list >> [email protected] <mailto:[email protected]> >> http://mailman.qos.ch/mailman/listinfo/slf4j-user > _______________________________________________ > slf4j-user mailing list > [email protected] <mailto:[email protected]> > http://mailman.qos.ch/mailman/listinfo/slf4j-user _______________________________________________ slf4j-user mailing list [email protected] <mailto:[email protected]> http://mailman.qos.ch/mailman/listinfo/slf4j-user <sscce.tgz>_______________________________________________ slf4j-user mailing list [email protected] <mailto:[email protected]> http://mailman.qos.ch/mailman/listinfo/slf4j-user_______________________________________________ slf4j-user mailing list [email protected] <mailto:[email protected]> http://mailman.qos.ch/mailman/listinfo/slf4j-user _______________________________________________ slf4j-user mailing list [email protected] http://mailman.qos.ch/mailman/listinfo/slf4j-user
_______________________________________________ slf4j-user mailing list [email protected] http://mailman.qos.ch/mailman/listinfo/slf4j-user
