publish-local and update (which attempts to resolve from the local repository) don't seem to share the same default pattern. I've always worked around this by manually setting patterns but it seems a bit inefficient.
Create a tiny project Hello with build.sbt as follows:
name := "hello"
version := "1.0"
organization := "ray"
Publish said project via publish-local.
[info] published hello_2.9.1 to /home/ray/.ivy2/local/ray/hello_2.9.1/1.0/jars/hello_2.9.1.jar
[info] published ivy to /home/ray/.ivy2/local/ray/hello_2.9.1/1.0/ivys/ivy.xml
Now lets pretend we want to use the above published local artifact as a standard sbt dependency.
An equally simple sbt.build of a project which uses hello.jar