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?
            Asked
            
        
        
            Active
            
        
            Viewed 2.1k times
        
    3 Answers
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