rushimg
rushimg

Reputation: 21

Problems finding Main class in sub-directories w/SBT assembly

I am attempting to use SBT assembly(0.14.0) to create a fat jar of my Scala project.

My project structure is as follows:

    >top
       > build.sbt
       > api
          > src
               > main
                     > scala
                             > name 
                                    > Boot.scala
        > other directories

I am trying to set Boot as the main method to be run in the jar.

I have tried using:

baseDirectory in (Compile,run) := file("api")
scalaSource in run := baseDirectory.value / "api"
scalaSource in Compile := baseDirectory(_ / "api")
mainClass in assembly  := some("name.Boot")

The jar builds successfully but when running it I receive the error:

Error: Could not find or load main class name.Boot

Upvotes: 2

Views: 763

Answers (2)

moem
moem

Reputation: 556

Going by the snippet you posted, you could try changing

mainClass in assembly := some("name.Boot")

to

mainClass in assembly := Some("name.Boot")

The reason it does not complain is that lower case some refers to something else.

Upvotes: 1

Reactormonk
Reactormonk

Reputation: 21730

The file path of your mainClass isn't relevant, only the namespace in Scala/Java. Is your main object

package name

object Boot {
  def main ...
}

?

Upvotes: 0

Related Questions