#*******************************************************************************
#* Copyright (C) 2014, International Business Machines Corporation and         *
#* others. All Rights Reserved.                                                *
#*******************************************************************************

#
# Eclipse installation location
# Specify the folder that contains eclipse.exe, for example: eclipse.home=C:/eclipse
#
# Note:
#      By default, this value is set by an environment variable 'ECLIPSE_HOME'.
#      You could uncomment below and specify the path in this file alternatively (recommended). 
#
#eclipse.home=

#
# Java 5 runtime jar location
# Specify jar file path(es) including J2SE runtime classes
#
# Note: 
#
#   [Oracle JDK]   All of J2SE runtime classes are in <JRE dir>/lib/rt.jar
#
#   [IBM JDK]      J2SE runtime classes are in multiple jar files. To build ICU4J
#                  plug-in, you need followings:
#                      - <JRE dir>/lib/vm.jar
#                      - <JRE dir>/lib/core.jar
#                      - <JRE dir>/lib/graphics.jar
#                      - <JRE dir>/lib/xml.jar
#
# For example: java.rt=C:/ibmjava5/jre/lib/vm.jar;C:/ibmjava5/jre/lib/core.jar;C:/ibmjava5/jre/lib/graphics.jar;C:/ibmjava5/jre/lib/xml.jar
#
# NOTE:    slashes must be forward slashes. Backslashes will NOT work.
#
#			IF java.rt variable has embedded space(s)...
#          ...each element containing an embedded space java.rt must indivudually quoated and the elements separated by a semi-colon.
#                 ex. "C:/Program Files/IBM/Java50JDK/jre/lib/vm.jar";"C:/Program Files/IBM/Java50JDK/jre/lib/core.jar"
#                                                                   ^^^
java.rt=
