In my experience, I find that it's safest and easiest to create a JUNIT_LIB variable (Built Path -> Libraries -> Add Variable -> Edit) and add that to the classpath rather than adding a more specific value.
It's convenient: If you start a new project, you don't have to go seaching for junit.jar in the filesystem or give your app it's own copy of the jar.
It's future-proof: I've got the JUNIT_LIB variable pointed at the eclipse plugins directory, something like "org.junit_3.8.1/junit.jar". When I upgrade to Eclipse 3.0, I can just change the variable to "org.junit_56.2042.-2" and the classpaths for all my projects won't be broken.
It's efficient: There's no point in keeping more than one copy of junit.jar in your filesystem at any given time. There are some .jars that have lots of copies floating around, but junit only belongs in two places on my comp: ANT_HOME/lib and the Eclipse plugins directory. The end-user won't need junit.jar, and the JUnit
Ant task won't work unless junit.jar is in ANT_HOME/lib. Releases are all backwards compatable (worst case scenario they'd make a release that wasn't and you could just not upgrade) so the latest version should always be sufficient.