 <p><code>&lt;+=</code> really is for appending to a "collection" setting, I don't think it is supported for string concatenation. Plus in your second attempt you are both trying to concatenate via an assignment operator (<code>&lt;+=</code>) <strong>and</strong> concatenating by hand using the <code>+</code> operator, which is certainly not what you intended. just Replace <code>&lt;+=</code> with <code>&lt;&lt;=</code> and it should make sbt happy.</p> <pre><code>unmanagedJars in Compile &lt;&lt;= javaHome map { jh =&gt; jh + "/jre/lib/jfxrt.jar" } </code></pre> <p><strong>UPDATE</strong>: Turns out I misread your post and was completly wrong. You were right to use <code>&lt;+=</code> to append to unamanagedJar, and the use of <code>+</code> was there just to create an absolute file path. Sorry a bout that. This time I acutally tried to fix it with sbt at hand, and managed to make it compile. I didn't actually test it against a real project though, I'll let you try it and report if it works as expected.</p> <pre><code>unmanagedJars in Compile &lt;+= javaHome map { jh =&gt; Attributed.blank( new File( jh.getOrElse(sys.error("Error, could not get java home")),"jre/lib/jfxrt.jar" ) ) } </code></pre> <p>This is clearly not very nice though, there might be some helper somewhere to make it more readable.</p>