19

My project has dependencies on a JAR file that isn't in Ivy, how can I include it directly in the final JAR output by sbt-assembly?

Garrett Hall
  • 29,524
  • 10
  • 61
  • 76

3 Answers3

31

Figured out I just have to add them explicitly as unmanaged dependencies in Build.scala, they are not automatically pulled in from the lib folder. Adding this line to settings worked:

unmanagedJars in Compile += file("lib/vertica_jdk_5.jar")

Garrett Hall
  • 29,524
  • 10
  • 61
  • 76
  • did you have to add anything to Build.scala in the end? I am trying to package some source code with an unmanaged jar located in "lib" folder at the base directory... but when I compare the size of the resulting jar, it is smaller than the unmanaged jar – Marin Sep 30 '16 at 13:45
  • what/where is Build.scala in project ? – Haha TTpro Nov 09 '17 at 09:17
16

For a single project setup, putting jars into lib should work. If you have multi-project setup the lib directory would be under each subproject like app/lib.

Eugene Yokota
  • 94,654
  • 45
  • 215
  • 319
1

Just an update for those searching unmanaged dependencies: Updated documentation for 0.13.2 is here: http://www.scala-sbt.org/release/docs/Getting-Started/Library-Dependencies.html

crockpotveggies
  • 12,682
  • 12
  • 70
  • 140