The "user.home" system properties, returned by System.getProperty("user.home"), has the value of "?". Same thing happens with "user.name" property.
I'm not sure why this is but seems like a bug too me.
-bash-3.00$ /shares/jdk/hotspot1.6.0_16/bin/java ShowSystemProps | grep "user"
user.country = US
user.dir = /home/hhuynh
user.home = ?
user.timezone =
user.name = ?
user.language = en
Correct values if I used 64bit JDK
-bash-3.00$ /shares/jdk/hotspot1.6.0_16_x64/bin/java ShowSystemProps | grep "user"
user.country = US
user.dir = /home/hhuynh
user.home = /export2/homes/hhuynh
user.timezone =
user.name = hhuynh
user.language = en
This bug leads to Maven creating the local repository under the current working dir: "./?/.m2/repository" and leads to many confusing problems down the road.