title: SBT: Class not included in jar file
body: <p>I am building an application and trying to package it as a fat jar via sbt assembly, but my class is not being included in the final jar file.  It includes as dependencies two additional jar files that I have created.  My code looks something like this:</p>
  
  <pre><code>package com.my.new.pacakge
  
  import com.my.package.num1
  import com.my.package.num2
  
  object myNewObject { ....}
  </code></pre>
  
  <p>My build file looks like this:</p>
  
  <pre><code>organization := "com.my.new.package"
  
  name := "myProject"
  
  spName := "com.my.new.package/myNewObject"
  
  version := "0.2"
  
  scalaVersion := "2.10.4"
  
  sparkVersion := "1.3.0"
  
  sparkComponents ++= Seq("streaming", "sql")
  
  libraryDependencies += "com.databricks" %% "spark-avro" % "1.0.0"
  
  libraryDependencies += "org.apache.avro" % "avro" % "1.7.7"
  
  libraryDependencies += "org.apache.avro" % "avro-mapred" % "1.7.7"
  
  libraryDependencies += "com.my.package" % "num1" % "0.1"
  
  libraryDependencies += "com.my.package" % "num2" % "0.2"
  
  mergeStrategy in assembly := {case PathList("META-INF", xs @ _*) =&gt; MergeStrategy.discard
                                case x =&gt; MergeStrategy.concat}
  
  lazy val sbtAssemblySettings = Seq(
      assemblyJarName in assembly := {name.value + "-" + version.value + ".jar"}, 
      mainClass in assembly := Some("com.my.new.package.myNewObject")
  )
  </code></pre>
  
  <p>When I run assembly, the jar pacakges just fine, but if I run 'jar tf' to see what is in the jar, nothing related to com.my.new.package is there.  Everything else seems to be there.</p>
  
  <p>There are some common dependencies between my other jars and this new object that create some conflicts, hence the merge strategy.  I suspect something in the merge strategy is causing myNewObject to be ejected but I'm not really sure why.  If anyone can point out what I'm doing wrong it's greatly appreciated.</p>