You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@kafka.apache.org by Ran RanUser <ra...@gmail.com> on 2014/01/16 08:04:42 UTC

compile error sbt / log4j , cannot exclude log4j

Using :

SBT 13
Scala 2.10.3
Kafka 0.8.0

Getting a long cryptic compile error ending if I exclude log4j:

[error] uncaught exception during compilation:
scala.reflect.internal.Types$TypeError
[trace] Stack trace suppressed: run last
shops-integrationlayer/compile:compile for the full output.
[error] (shops-integrationlayer/compile:compile)
scala.reflect.internal.Types$TypeError: bad symbolic reference. A signature
in Logging.class refers to term log4j
[error] in package org.apache which is not available.
[error] It may be completely missing from the current classpath, or the
version on
[error] the classpath might be incompatible with the version used when
compiling Logging.class.

I reference kafka in SBT via:

"org.apache.kafka" % "kafka_2.10" % "0.8.0" exclude("org.slf4j",
"slf4j-simple") exclude("log4j", "log4j") exclude("javax.jms", "jms")
exclude("com.sun.jdmk", "jmxtools") exclude("com.sun.jmx", "jmxri")

I exclude org.slf4j-slf4j-simple and log4j-log4j because my project is
already using slf4j-api and logback (instead of log4j).  Is there a reason
Logging.class references log4j directly instead of the slf4j-api?

How can log4j be excluded here?

Thank you!

Re: compile error sbt / log4j , cannot exclude log4j

Posted by Joe Stein <jo...@stealth.ly>.
 "org.apache.kafka" % "kafka_2.10" % "0.8.0" intransitive(),
"log4j" % "log4j" % "1.2.17",

/*******************************************
 Joe Stein
 Founder, Principal Consultant
 Big Data Open Source Security LLC
 http://www.stealth.ly
 Twitter: @allthingshadoop <http://www.twitter.com/allthingshadoop>
********************************************/


On Thu, Jan 16, 2014 at 1:14 PM, Ran RanUser <ra...@gmail.com> wrote:

> Thanks, but unfortunately same error.
>
> I see in kafka.utils.LoggingClass the import:
>
> import org.apache.log4j.Logger
>
> Is it possible for this class to reference org.slf4j.* instead users
> of Kafka can use their own slf4j compatible logging lib?
>
>
>
>
> On Thu, Jan 16, 2014 at 7:09 AM, Joe Stein <jo...@stealth.ly> wrote:
>
> > try
> >
> > "org.apache.kafka" % "kafka_2.10" % "0.8.0" intransitive()
> >
> > /*******************************************
> >  Joe Stein
> >  Founder, Principal Consultant
> >  Big Data Open Source Security LLC
> >  http://www.stealth.ly
> >  Twitter: @allthingshadoop <http://www.twitter.com/allthingshadoop>
> > ********************************************/
> >
> >
> > On Thu, Jan 16, 2014 at 2:04 AM, Ran RanUser <ra...@gmail.com>
> wrote:
> >
> > > Using :
> > >
> > > SBT 13
> > > Scala 2.10.3
> > > Kafka 0.8.0
> > >
> > > Getting a long cryptic compile error ending if I exclude log4j:
> > >
> > > [error] uncaught exception during compilation:
> > > scala.reflect.internal.Types$TypeError
> > > [trace] Stack trace suppressed: run last
> > > shops-integrationlayer/compile:compile for the full output.
> > > [error] (shops-integrationlayer/compile:compile)
> > > scala.reflect.internal.Types$TypeError: bad symbolic reference. A
> > signature
> > > in Logging.class refers to term log4j
> > > [error] in package org.apache which is not available.
> > > [error] It may be completely missing from the current classpath, or the
> > > version on
> > > [error] the classpath might be incompatible with the version used when
> > > compiling Logging.class.
> > >
> > > I reference kafka in SBT via:
> > >
> > > "org.apache.kafka" % "kafka_2.10" % "0.8.0" exclude("org.slf4j",
> > > "slf4j-simple") exclude("log4j", "log4j") exclude("javax.jms", "jms")
> > > exclude("com.sun.jdmk", "jmxtools") exclude("com.sun.jmx", "jmxri")
> > >
> > > I exclude org.slf4j-slf4j-simple and log4j-log4j because my project is
> > > already using slf4j-api and logback (instead of log4j).  Is there a
> > reason
> > > Logging.class references log4j directly instead of the slf4j-api?
> > >
> > > How can log4j be excluded here?
> > >
> > > Thank you!
> > >
> >
>

Re: compile error sbt / log4j , cannot exclude log4j

Posted by Ran RanUser <ra...@gmail.com>.
Thanks, but unfortunately same error.

I see in kafka.utils.LoggingClass the import:

import org.apache.log4j.Logger

Is it possible for this class to reference org.slf4j.* instead users
of Kafka can use their own slf4j compatible logging lib?




On Thu, Jan 16, 2014 at 7:09 AM, Joe Stein <jo...@stealth.ly> wrote:

> try
>
> "org.apache.kafka" % "kafka_2.10" % "0.8.0" intransitive()
>
> /*******************************************
>  Joe Stein
>  Founder, Principal Consultant
>  Big Data Open Source Security LLC
>  http://www.stealth.ly
>  Twitter: @allthingshadoop <http://www.twitter.com/allthingshadoop>
> ********************************************/
>
>
> On Thu, Jan 16, 2014 at 2:04 AM, Ran RanUser <ra...@gmail.com> wrote:
>
> > Using :
> >
> > SBT 13
> > Scala 2.10.3
> > Kafka 0.8.0
> >
> > Getting a long cryptic compile error ending if I exclude log4j:
> >
> > [error] uncaught exception during compilation:
> > scala.reflect.internal.Types$TypeError
> > [trace] Stack trace suppressed: run last
> > shops-integrationlayer/compile:compile for the full output.
> > [error] (shops-integrationlayer/compile:compile)
> > scala.reflect.internal.Types$TypeError: bad symbolic reference. A
> signature
> > in Logging.class refers to term log4j
> > [error] in package org.apache which is not available.
> > [error] It may be completely missing from the current classpath, or the
> > version on
> > [error] the classpath might be incompatible with the version used when
> > compiling Logging.class.
> >
> > I reference kafka in SBT via:
> >
> > "org.apache.kafka" % "kafka_2.10" % "0.8.0" exclude("org.slf4j",
> > "slf4j-simple") exclude("log4j", "log4j") exclude("javax.jms", "jms")
> > exclude("com.sun.jdmk", "jmxtools") exclude("com.sun.jmx", "jmxri")
> >
> > I exclude org.slf4j-slf4j-simple and log4j-log4j because my project is
> > already using slf4j-api and logback (instead of log4j).  Is there a
> reason
> > Logging.class references log4j directly instead of the slf4j-api?
> >
> > How can log4j be excluded here?
> >
> > Thank you!
> >
>

Re: compile error sbt / log4j , cannot exclude log4j

Posted by Joe Stein <jo...@stealth.ly>.
try

"org.apache.kafka" % "kafka_2.10" % "0.8.0" intransitive()

/*******************************************
 Joe Stein
 Founder, Principal Consultant
 Big Data Open Source Security LLC
 http://www.stealth.ly
 Twitter: @allthingshadoop <http://www.twitter.com/allthingshadoop>
********************************************/


On Thu, Jan 16, 2014 at 2:04 AM, Ran RanUser <ra...@gmail.com> wrote:

> Using :
>
> SBT 13
> Scala 2.10.3
> Kafka 0.8.0
>
> Getting a long cryptic compile error ending if I exclude log4j:
>
> [error] uncaught exception during compilation:
> scala.reflect.internal.Types$TypeError
> [trace] Stack trace suppressed: run last
> shops-integrationlayer/compile:compile for the full output.
> [error] (shops-integrationlayer/compile:compile)
> scala.reflect.internal.Types$TypeError: bad symbolic reference. A signature
> in Logging.class refers to term log4j
> [error] in package org.apache which is not available.
> [error] It may be completely missing from the current classpath, or the
> version on
> [error] the classpath might be incompatible with the version used when
> compiling Logging.class.
>
> I reference kafka in SBT via:
>
> "org.apache.kafka" % "kafka_2.10" % "0.8.0" exclude("org.slf4j",
> "slf4j-simple") exclude("log4j", "log4j") exclude("javax.jms", "jms")
> exclude("com.sun.jdmk", "jmxtools") exclude("com.sun.jmx", "jmxri")
>
> I exclude org.slf4j-slf4j-simple and log4j-log4j because my project is
> already using slf4j-api and logback (instead of log4j).  Is there a reason
> Logging.class references log4j directly instead of the slf4j-api?
>
> How can log4j be excluded here?
>
> Thank you!
>