I should have used environmental variable for a parameter to -cp. I checked with Mac OS X and Linux; both of them working with $JP, but not with direct path enlisting.
SCALA_LIB=~/jar/scala/scala-library.jar
JP=.:~/temp/java:~/temp/java2:$SCALA_LIB
scalac -d ~/temp/java s.scala
scalac -d ~/temp/java2 s2.scala
javac -cp $JP Test.java -d ~/temp/java
java -cp $JP Test