| <html> |
| <head> |
| <title>3.0 JDT Launching Change Notes</title> |
| <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> |
| </head> |
| |
| <body bgcolor="#FFFFFF" text="#000000"> |
| <h1>3.0 JDT Launching Change Notes</h1> |
| <p>This document describes important changes in the 3.0 JDT launching support, relative |
| to the 2.1 release.</p> |
| <h2>API Changes</h2> |
| <h3>VMRunnerConfiguration contains environment</h3> |
| <p>Two methods have been added to the <code>VMRunnerConfiguration</code> type |
| to support the setting and retrieving of environment variables. |
| <p>Implementors of <code>IVMRunner</code> should call <code>VMRunnerConfiguration.getEnvironment()</code> |
| and pass that environment into the executed VM. Clients who use <code>DebugPlugin#exec(String[] |
| cmdLine, File workingDirectory)</code> can do this by calling <code>DebugPlugin#exec(String[] |
| cmdLine, File workingDirectory, String[] envp)</code> instead. Simply passing |
| in the result from <code>getEnvironment()</code> is sufficient.</p> |
| <h3>VMRunnerConfiguration and Bootstrap Classes</h3> |
| <p>In prior releases, the <code>VMRunnerConfiguration</code> had one attribute |
| to describe a boot path. The attribute is a collection of <code>Strings</code> |
| to be specified in the -<code>Xbootclasspath</code> argument. Three new attributes |
| have been added to the VM specific attributes map to support VMs that allow |
| for prepending and appending to the boot path. The newly added attributes are |
| defined in <code>IJavaLanuchConfigurationConstants</code>:</p> |
| <ul> |
| <li><code>ATTR_BOOTPAH_PREPEND</code> - an array of strings describing paths |
| in the local file system to be prepended to the boot path (the <code>-Xbootclasspath/p</code> |
| argument)</li> |
| <li><code>ATTR_BOOTPATH</code> - an array of strings describing paths in the |
| local file system to be placed on the boot path (the <code>-Xbootclasspath</code> |
| argument)</li> |
| <li><code>ATTR_BOOTPATH_APPEND</code> - an array of strings describing paths |
| in the local file system to be appended to the boot path (the <code>-Xbootclasspath/a</code> |
| argument)</li> |
| </ul> |
| <p>The old attribute,<code> getBootClassPath()</code> still exists, and contains |
| a complete path equivalent to that of the three new attributes. However, <code>VMRunners</code> |
| that support the new boot path options should take advantage of the new attributes, |
| found in the VM specific attributes map (i.e. <code>VMRunnerConfiguration.getVMSpecificAttributesMap()</code>). |
| The attributes are computed dynamically at launch time based on the classpath |
| attribute associated with a launch configiuration. The boothpath attributes |
| themselves are not stored in launch configurations.</p> |
| <h3>Default VM Arguments</h3> |
| <p>To allow a specific set of VM arguments to be used every time a specific VM |
| is launched (without having to specify the arguments on all associated launch |
| configurations), a new "VM arguments" attribute has been added to |
| <code>IVMInstall</code>, along with getter and setter methods. Although clients |
| may implement this interface, the additional API is intended to be non-breaking, |
| since clients who implement the interface should be subclassing <code>AbstractVMInstall</code>, |
| where the new feature is implemented. Existing VM runners need to honor the |
| new attributes when launching a VM. A convenience method (<code>combineVmArgs</code>) |
| has been added to <code>AbstractVMRunner</code> to combine VM arguments specified |
| on a runner configuration and a VM install.</p> |
| </body> |
| </html> |