I am trying to install sbt-assembly by following the instructions in order to make a stand-alone jar that can run on a computer without scala installed.
So far these are the steps I've taken.
I created a plugins.sbt file:
$ cat sbt/project/plugins.sbt
addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.7.2")
And I added the following to the beginning of my build.sbt file:
$ head -n3 sbt/build.sbt
import AssemblyKeys._ // put this at the top of the file
seq(assemblySettings: _*)
But when I run sbt, I get the following error:
sbt/build.sbt:1: error: not found: value AssemblyKeys
import AssemblyKeys._
In the Project tool window, in the source root directory, locate the build. properties file and open it in the editor. In the editor explicitly specify the version of sbt that you want to use in the project.
The sbt-assembly plugin is an SBT plugin for building a single independent fat JAR file with all dependencies included. This is inspired by the popular Maven assembly plugin, which is used to build fat JARs in Maven.
sbt/1.0. Make a directory called “plugins” in that folder by typing: mkdir plugins. Copy the existing “plugins. sbt” file from the 0.13 directory to the current 1.0 directory by typing the following: cp ../0.13/plugins/plugins.
Make sure you are running sbt version at least 0.11 by typing
$ sbt sbt-version
at the bash prompt.
Make sure you have the plugins file set up as follows:
$ cat sbt/project/plugins.sbt addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.7.2")
Make your build file (build.sbt
) look like this:
import AssemblyKeys._ seq(assemblySettings: _*) name := "my_project" version := "1.0" scalaVersion := "2.9.1" libraryDependencies ++= Seq( "org.scalatest" %% "scalatest" % "1.6.1" % "test", "commons-lang" % "commons-lang" % "2.6" ) traceLevel in run := 0 fork in run := true scalacOptions ++= Seq("-optimize") // The following is the class that will run when the jar is compiled! mainClass in assembly := Some("MyMain")
Make sure you don't have a project/plugins folder lying around. This may prevent other mechanisms of specifying plugins from working.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With