JDK-7140869 : deployment.user.* system properties contain $USER_HOME
  • Type: Bug
  • Component: deploy
  • Sub-Component: deployment_toolkit
  • Affected Version: 7
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • OS: windows_7
  • CPU: x86
  • Submitted: 2012-01-30
  • Updated: 2013-09-12
  • Resolved: 2012-02-09
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 7 JDK 8
7u4Fixed 8 b25Fixed
Description
FULL PRODUCT VERSION :
java -version:
java version "1.7.0_02"
Java(TM) SE Runtime Environment (build 1.7.0_02-b13)
Java HotSpot(TM) Client VM (build 22.0-b10, mixed mode, sharing)

Java Web Start 10.2.1.255

ADDITIONAL OS VERSION INFORMATION :
Microsoft Windows [Version 6.1.7601]

A DESCRIPTION OF THE PROBLEM :
since update 02 the system properties set by javaws for jnlp deployment are messed up:

...
deployment.system.cachedir=C:\Users\Bininda\AppData\LocalLow\Sun\Java\Deployment\SystemCache
deployment.system.security.blacklist=$LATEST_JRE_HOME\lib\security\blacklist
deployment.system.security.cacerts=$LATEST_JRE_HOME\lib\security\cacerts
deployment.system.security.jssecacerts=$LATEST_JRE_HOME\lib\security\jssecacerts
deployment.system.security.oldcacerts=$JRE_HOME\lib\security\cacerts
deployment.system.security.oldjssecacerts=$JRE_HOME\lib\security\jssecacerts
deployment.system.security.trusted.certs=$JAVA_HOME\lib\security\trusted.certs
deployment.system.security.trusted.clientauthcerts=$JAVA_HOME\lib\security\trusted.clientcerts
deployment.system.security.trusted.jssecerts=$JAVA_HOME\lib\security\trusted.jssecerts
deployment.system.security.trusted.libraries=$LATEST_JRE_HOME\lib\security\trusted.libraries
deployment.system.security.trusted.publishers=$LATEST_JRE_HOME\lib\security\trusted.publishers
deployment.system.tray.icon=false
deployment.trace=false
deployment.update.mime.types=true
deployment.user.cachedir=C:\Users\Bininda\AppData\LocalLow\Sun\Java\Deployment\cache
deployment.user.extdir=$USER_HOME\ext
deployment.user.logdir=$USER_HOME\log
deployment.user.security.blacklist=$USER_HOME\security\blacklist
deployment.user.security.policy=file:/C:/Users/Bininda/AppData/LocalLow/Sun/Java/Deployment/security/java.policy
deployment.user.security.saved.credentials=$USER_HOME\security\auth.dat
deployment.user.security.trusted.cacerts=$USER_HOME\security\trusted.cacerts
deployment.user.security.trusted.certs=$USER_HOME\security\trusted.certs
deployment.user.security.trusted.clientauthcerts=$USER_HOME\security\trusted.clientcerts
deployment.user.security.trusted.jssecacerts=$USER_HOME\security\trusted.jssecacerts
deployment.user.security.trusted.jssecerts=$USER_HOME\security\trusted.jssecerts
deployment.user.security.trusted.libraries=$USER_HOME\security\trusted.libraries
deployment.user.security.trusted.publishers=$USER_HOME\security\trusted.publishers
deployment.user.tmp=$USER_HOME\tmp
deployment.version=6.0
...

we use the property deployment.user.logdir to place our LOG4J log file.
This no longer works with update 02 since $USER_HOME\log is not a valid directory.


REGRESSION.  Last worked in version 7

STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
start an application using Java Web Start 10.2.1.255 that prints system property deployment.user.logdir

EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
C:\Users\Bininda\AppData\LocalLow\Sun\Java\Deployment\log
ACTUAL -
$USER_HOME\log

REPRODUCIBILITY :
This bug can be reproduced always.

SUPPORT :
YES