Hi Derek, We probably have a patch for adding assembly at https://issues.apache.org/jira/browse/KAFKA-733. Can you review it?
Thanks, Swapnil On 2/21/13 2:46 PM, "Derek Chen-Becker" <de...@precog.com> wrote: >The two simplest approaches (short of parsing SBT output for classpaths) >would be to either use https://github.com/n8han/conscript or >https://github.com/sbt/sbt-assembly. Assembly would give you a nice, >self-contained JAR with all deps. Conscript essentially uses SBT to fetch >deps and run. I'm more familiar with assembly, so I'd be happy to add it >to >the build (it's pretty trivial). > >Derek > > >On Thu, Feb 21, 2013 at 3:40 PM, David Arthur <mum...@gmail.com> wrote: > >> I'm having trouble building the project with sbt, specifically I am >>unable >> to run package and have the kafka-server-start.sh script work >> >> git clone >>git://github.com/apache/kafka.**git<http://github.com/apache/kafka.git> >> ./sbt update >> ./sbt "++2.8.0 package" >> ./bin/kafka-server-start.sh config/server.properties >> >> Exception in thread "main" java.lang.**NoClassDefFoundError: >> scala/ScalaObject >> at java.lang.ClassLoader.**defineClass1(Native Method) >> at java.lang.ClassLoader.**defineClassCond(ClassLoader.**java:631) >> at java.lang.ClassLoader.**defineClass(ClassLoader.java:**615) >> at java.security.**SecureClassLoader.defineClass(** >> SecureClassLoader.java:141) >> at java.net.URLClassLoader.**defineClass(URLClassLoader.**java:283) >> at java.net.URLClassLoader.**access$000(URLClassLoader.**java:58) >> at java.net.URLClassLoader$1.run(**URLClassLoader.java:197) >> at java.security.**AccessController.doPrivileged(**Native Method) >> at java.net.URLClassLoader.**findClass(URLClassLoader.java:**190) >> at java.lang.ClassLoader.**loadClass(ClassLoader.java:**306) >> at sun.misc.Launcher$**AppClassLoader.loadClass(**Launcher.java:301) >> at java.lang.ClassLoader.**loadClass(ClassLoader.java:**247) >> at java.lang.ClassLoader.**defineClass1(Native Method) >> at java.lang.ClassLoader.**defineClassCond(ClassLoader.**java:631) >> at java.lang.ClassLoader.**defineClass(ClassLoader.java:**615) >> at java.security.**SecureClassLoader.defineClass(** >> SecureClassLoader.java:141) >> at java.net.URLClassLoader.**defineClass(URLClassLoader.**java:283) >> at java.net.URLClassLoader.**access$000(URLClassLoader.**java:58) >> at java.net.URLClassLoader$1.run(**URLClassLoader.java:197) >> at java.security.**AccessController.doPrivileged(**Native Method) >> at java.net.URLClassLoader.**findClass(URLClassLoader.java:**190) >> at java.lang.ClassLoader.**loadClass(ClassLoader.java:**306) >> at sun.misc.Launcher$**AppClassLoader.loadClass(**Launcher.java:301) >> at java.lang.ClassLoader.**loadClass(ClassLoader.java:**247) >> at kafka.Kafka.main(Kafka.scala) >> Caused by: java.lang.**ClassNotFoundException: scala.ScalaObject >> at java.net.URLClassLoader$1.run(**URLClassLoader.java:202) >> at java.security.**AccessController.doPrivileged(**Native Method) >> at java.net.URLClassLoader.**findClass(URLClassLoader.java:**190) >> at java.lang.ClassLoader.**loadClass(ClassLoader.java:**306) >> at sun.misc.Launcher$**AppClassLoader.loadClass(**Launcher.java:301) >> at java.lang.ClassLoader.**loadClass(ClassLoader.java:**247) >> ... 25 more >> >> I have tried manually building a classpath and running java directly, >>but >> then it complains about missing slf4j. The only way I've been able to >>run >> Kafka is through sbt interactively with the "run" task (I noticed in >>this >> case it's picking up slf4j from ~/.ivy/cache). >> >> Any advise? >> >> -David >> > > > >-- >*Derek Chen-Becker* >*Precog Lead Infrastructure Engineer* >de...@precog.com >303-752-1700