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

Reply via email to