It’s a scalac bug, not an SLF4J bug. See here:
https://issues.scala-lang.org/browse/SI-5420 
<https://issues.scala-lang.org/browse/SI-5420>




> On 16 Dec 2014, at 17:30, Elliot Huntington <elliot.hunting...@gmail.com> 
> 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 <r...@lidalia.org.uk 
> <mailto:r...@lidalia.org.uk>> 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ü <c...@qos.ch <mailto:c...@qos.ch>> 
> > 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
> >>> slf4j-user@qos.ch <mailto:slf4j-user@qos.ch>
> >>> http://mailman.qos.ch/mailman/listinfo/slf4j-user 
> >>> <http://mailman.qos.ch/mailman/listinfo/slf4j-user>
> >> _______________________________________________
> >> slf4j-user mailing list
> >> slf4j-user@qos.ch <mailto:slf4j-user@qos.ch>
> >> http://mailman.qos.ch/mailman/listinfo/slf4j-user 
> >> <http://mailman.qos.ch/mailman/listinfo/slf4j-user>
> > _______________________________________________
> > slf4j-user mailing list
> > slf4j-user@qos.ch <mailto:slf4j-user@qos.ch>
> > http://mailman.qos.ch/mailman/listinfo/slf4j-user 
> > <http://mailman.qos.ch/mailman/listinfo/slf4j-user>
> _______________________________________________
> slf4j-user mailing list
> slf4j-user@qos.ch <mailto:slf4j-user@qos.ch>
> http://mailman.qos.ch/mailman/listinfo/slf4j-user 
> <http://mailman.qos.ch/mailman/listinfo/slf4j-user><sscce.tgz>_______________________________________________
> slf4j-user mailing list
> slf4j-user@qos.ch
> http://mailman.qos.ch/mailman/listinfo/slf4j-user

_______________________________________________
slf4j-user mailing list
slf4j-user@qos.ch
http://mailman.qos.ch/mailman/listinfo/slf4j-user

Reply via email to