title: Java user.home is being set to %userprofile% and not being resolved
body: <p>Our company recently upgraded from Windows XP to Windows 7 Enterprise. The JDK installation is no longer setting <em>user.home</em> to the full path of the user directory, but instead is setting user.home to <code>%userprofile%</code>. This is causing a lot of issues with applications such as Eclipse, Maven, etc. I now have to set -Duser.home in the JVM for each application. Has anyone else experienced this? Is there a fix for this? Would this be related to the installation of Windows 7 Enterprise? I have tried the 1.5 JDK and the 1.6 JDK.</p>
  
  <p>Here is the list of properties. Note user.home:</p>
  
  <pre><code>-- listing properties --
  java.runtime.name=Java(TM) SE Runtime Environment
  sun.boot.library.path=C:\Program Files\Java\jre6\bin
  java.vm.version=16.0-b13
  java.vm.vendor=Sun Microsystems Inc.
  java.vendor.url=http://java.sun.com/
  path.separator=;
  java.vm.name=Java HotSpot(TM) Client VM
  file.encoding.pkg=sun.io
  user.country=US
  sun.java.launcher=SUN_STANDARD
  sun.os.patch.level=
  java.vm.specification.name=Java Virtual Machine Specification
  user.dir=C:\Users\politesp\Desktop
  java.runtime.version=1.6.0_18-b07
  java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment
  java.endorsed.dirs=C:\Program Files\Java\jre6\lib\endorsed
  os.arch=x86
  java.io.tmpdir=C:\Users\politesp\AppData\Local\Temp\
  line.separator=
  
  java.vm.specification.vendor=Sun Microsystems Inc.
  user.variant=
  os.name=Windows 7
  sun.jnu.encoding=Cp1252
  java.library.path=C:\WINDOWS\system32;.;C:\WINDOWS\Sun\...
  java.specification.name=Java Platform API Specification
  java.class.version=50.0
  sun.management.compiler=HotSpot Client Compiler
  os.version=6.1
  user.home=%userprofile%
  user.timezone=
  java.awt.printerjob=sun.awt.windows.WPrinterJob
  file.encoding=Cp1252
  java.specification.version=1.6
  user.name=politesp
  java.class.path=.
  java.vm.specification.version=1.0
  sun.arch.data.model=32
  java.home=C:\Program Files\Java\jre6
  java.specification.vendor=Sun Microsystems Inc.
  user.language=en
  awt.toolkit=sun.awt.windows.WToolkit
  java.vm.info=mixed mode, sharing
  java.version=1.6.0_18
  java.ext.dirs=C:\Program Files\Java\jre6\lib\ext;C:...
  sun.boot.class.path=C:\Program Files\Java\jre6\lib\resour...
  java.vendor=Sun Microsystems Inc.
  file.separator=\
  java.vendor.url.bug=http://java.sun.com/cgi-bin/bugreport...
  sun.cpu.endian=little
  sun.io.unicode.encoding=UnicodeLittle
  sun.desktop=windows
  sun.cpu.isalist=pentium_pro+mmx pentium_pro pentium+m...
  </code></pre>
  
  <p><strong>Update:</strong></p>
  
  <p>Using the link to the bug from Andreas_D I discovered:</p>
  
  <p>The value of <code>HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Desktop</code> is <strong>%userprofile%\Desktop</strong> on my installation of Windows 7 Enterprise.</p>
  
  <p>When I change the value of this key to <code>C:\Users\politesp\Desktop</code>, my user.home resolves correctly. Any idea why this is happening?</p>