<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
   <meta name="GENERATOR" content="Microsoft FrontPage 4.0">
   <title>Eclipse Project Release Notes 2.1.0</title>
</head>
<body>

<h1>

Eclipse Project Release Notes</h1>

<p>

Pre-release 2.1.0<br>
Last revised January 28, 2003</p>

<p>

<i>Note: Much of the content of the release notes for the 2.1 release will not
be known until the end of the release cycle. This placeholder document includes
whatever information is known in advance.</i></p>

<p align="left">

<strong>This software is OSI Certified Open Source Software.<br>
OSI Certified is a certification mark of the Open Source Initiative.</strong></p>

<blockquote>

<p align="left">

<a href="#Target Operating Environments">1. Target Operating Environments</a><br>
<a href="#Compatibility with Previous Release">
2. Compatibility with Previous Release</a><br>
<a href="#Known Issues">3. Known Issues</a><br>
<a href="#Defects fixed">4. Defects Fixed</a></p>

</blockquote>

<h2>

1. <a name="Target Operating Environments"></a> Target Operating Environments</h2>



<p>Most of the Eclipse SDK is &quot;pure&quot; Java&trade; code and has no direct
dependence on the underlying operating system. The chief dependence is therefore
on the Java 2 Platform itself. Like the 2.0 release, the 2.1 release of the Eclipse
Project is written and compiled against version 1.3 of the Java 2 Platform APIs,
and targeted to run on either version 1.3 or 1.4 of the Java 2 Runtime
Environment, Standard Edition.</p>
<p>Eclipse SDK 2.1 has been tested and validated on the following Java 2
Platform implementations:</p>
<table width="91%" border="1">
  <tbody>
    <tr>
      <td width="21%"><b>Operating system</b></td>
      <td width="18%"><b>Processor architecture</b></td>
      <td width="73%"><b>Java 2 Platforms</b></td>
    </tr>
    <tr>
      <td width="21%" rowSpan="4">Microsoft&reg;<br>
        Windows&reg;</td>
      <td width="18%" rowSpan="4">Intel x86</td>
      <td width="73%">  
        Sun Java 2 SDK, Standard Edition, version 1.3.1_06 for 
        Microsoft Windows</td>
    </tr>
    <tr>
      <td width="73%">  
        Sun Java 2 SDK, Standard Edition, version 1.4.1_01 for Microsoft 
        Windows</td>
    </tr>
    <tr>
      <td width="73%"> IBM Developer Kit for Windows, Java 2 Technology Edition, 
        version 1.3.1 SR-1</td>
    </tr>
    <tr>
      <td width="73%"> IBM 32-bit SDK for Windows, Java 2 Technology Edition, 
        version 1.4.0</td>
    </tr>
    <tr>
      <td width="21%" rowSpan="3">Linux</td>
      <td width="18%" rowSpan="3">Intel x86</td>
      <td width="73%">  
        Sun Java 2 SDK, Standard Edition, version 1.3.1_06 for 
        Linux x86</td>
    </tr>
    <tr>
      <td width="73%">  
        Sun Java 2 SDK, Standard Edition, version 1.4.1_01 for Linux 
        x86</td>
    </tr>
    <tr>
      <td width="73%"> IBM Developer Kit for Linux, Java 2 Technology Edition, 
        version 1.3.1 SR-1</td>
    </tr>
    <tr>
      <td width="21%" rowSpan="2">Sun Solaris</td>
      <td width="18%" rowSpan="2">SPARC</td>
      <td width="73%">  
        Sun Java 2 SDK, Standard Edition, version 1.3.1_06 for 
        Solaris SPARC</td>
    </tr>
    <tr>
      <td width="73%">  
        Sun Java 2 SDK, Standard Edition, version 1.4.1_01 for Solaris 
        SPARC</td>
    </tr>
    <tr>
      <td width="21%">HP HP-UX</td>
      <td width="18%">hp9000 PA-RISC</td>
      <td width="73%"><span class="header">HP-UX SDK for the Java 2 platform,
        version 1.3.1 for hp9000 PA-RISC</span></td>
    </tr>
    <tr>
      <td width="21%">IBM&reg; AIX</td>
      <td width="18%">PowerPC</td>
      <td width="73%"> IBM Developer Kit for AIX, Java 2 Technology Edition, version 
        1.3.1</td>
    </tr>
    <tr>
      <td width="21%">Apple&reg; Mac&reg; OS</td>
      <td width="18%">PowerPC</td>
      <td width="73%">Java 2 Standard Edition 1.3.1 for Mac OS X 10.2</td>
    </tr>
    <tr>
      <td width="21%"><span class="title">QNX</span>&reg;<span class="title"> Neutrino</span>&reg;<span class="title">
        RTOS</span></td>
      <td width="18%">Intel x86</td>
      <td width="73%">IBM J9 VM for QNX, version 2.0</td>
    </tr>
  </tbody>
</table>
<p><span class="header">The following table describes the combinations of
operating system and Java 2 Platform used when testing the Eclipse SDK
configurations. The status column indicates the level of testing:
&quot;Primary&quot; means a full tested configuration; &quot;</span>Secondary&quot;
means a configuration which is only lightly tested; &quot;Untested&quot; means a
configuration that has received no testing, but which should work. Note that the
Mac OS X configuration is considered early access 
  for the 2.1 release; it has been tested, but is not product quality in this release.</p>
<table width="91%" border="1" height="415">
  <tbody>
    <tr> 
      <td width="11%" height="32"><b>Window system</b></td>
      <td width="28%" height="32"><b>Java 2 Platform<br>
        (see above table)</b></td>
      <td width="42%" height="32"><b>Operating Environment</b></td>
      <td width="19%" height="32"><b>Testing Status</b></td>
    </tr>
    <tr> 
      <td width="11%" rowSpan="5" height="104">Win32</td>
      <td width="28%" rowSpan="5" height="104">Windows on Intel x86</td>
      <td width="42%" height="16">Windows XP</td>
      <td width="19%" height="16">Primary</td>
    </tr>
    <tr> 
      <td width="42%" height="16">Windows 2000</td>
      <td width="19%" height="16">Primary</td>
    </tr>
    <tr> 
      <td width="42%" height="16">Windows ME</td>
      <td width="19%" height="16">Secondary</td>
    </tr>
    <tr> 
      <td width="42%" height="16">Windows 98SE</td>
      <td width="19%" height="16">Secondary</td>
    </tr>
    <tr> 
      <td width="42%" height="16">Windows NT</td>
      <td width="19%" height="16">Secondary</td>
    </tr>
    <tr> 
      <td width="11%" rowSpan="6" height="152">Motif</td>
      <td width="28%" rowSpan="3" height="86">&nbsp; <p>Linux on Intel x86</p>
        <p>&nbsp;</p></td>
      <td width="42%" height="25">RedHat Linux 7.2 x86</td>
      <td width="19%" height="25">Primary</td>
    </tr>
    <tr> 
      <td width="42%" height="25">SuSE Linux 7.3 x86</td>
      <td width="19%" height="25">Primary</td>
    </tr>
    <tr> 
      <td width="42%" height="24">Other Linux; kernel version 2.4.7, and XFree86 version 4.1.0</td>
      <td width="19%" height="24">Untested</td>
    </tr>
    <tr> 
      <td width="28%" height="16">Solaris on SPARC&nbsp;</td>
      <td width="42%" height="16">Sun Solaris 8 SPARC</td>
      <td width="19%" height="16">Primary</td>
    </tr>
    <tr> 
      <td width="28%" height="16">HP-UX on hp9000 PA-RISC</td>
      <td width="42%" height="16">HP-UX 11i hp9000</td>
      <td width="19%" height="16">Primary</td>
    </tr>
    <tr> 
      <td width="28%" height="16">AIX on PowerPC</td>
      <td width="42%" height="16">IBM AIX 5.1 on PowerPC</td>
      <td width="19%" height="16">Primary</td>
    </tr>
    <tr> 
      <td width="11%" rowSpan="4" height="81">GTK</td>
      <td width="28%" rowSpan="4" height="81">Linux on Intel x86</td>
    </tr>
    <tr> 
      <td height="15">RedHat Linux 7.2 x86 GTK 2.0</td>
      <td height="15">Primary</td>
    </tr>
    <tr> 
      <td width="42%" height="16">SuSE Linux 7.3 x86 GTK 2.0</td>
      <td width="19%" height="16">Primary</td>
    </tr>
    <tr> 
      <td width="42%" height="16">Other Linux; kernel version 2.4.7, and GTK 2.0</td>
      <td width="19%" height="16">Untested</td>
    </tr>
    <tr> 
      <td width="11%" height="16">Carbon</td>
      <td width="28%" height="16">Mac OS X on PowerPC</td>
      <td width="42%" height="16">Mac OS X 10.2</td>
      <td width="19%" height="16"><i>Early access</i></td>
    </tr>
    <tr> 
      <td width="11%" height="16"> 
        Photon&reg;</td>
      <td width="28%" height="16">IBM J9 VM for QNX</td>
      <td width="42%" height="16">QNX Neutrino RTOS 6.2.1&nbsp;</td>
      <td width="19%" height="16">Primary</td>
    </tr>
  </tbody>
</table>

<h4>

Internationalization</h4>

<p>The Eclipse Platform is designed as the basis for internationalized products.
The user interface elements provided by the Eclipse SDK components, including
dialogs and error messages, are externalized. The English strings are provided
as the default resource bundles.</p>
<p>Latin-1 locales are supported by the Eclipse SDK on all of the above
operating environments; DBCS locales are supported by the Eclipse SDK on the
Windows, GTK, and Motif window systems; BIDI locales are supported by the
Eclipse SDK only on Windows operating environments.
<p>The Eclipse SDK supports GB 18030, the new Chinese code page standard, on
Windows 2000 and XP only. Note that GB 18030 also requires locale and character
encoding support from the Java 2 Runtime Environment; this support is standard
in version 1.4, and also available in some 1.3 JREs.
<p> German and Japanese locales have been tested.

<h4>

BIDI support</h4>

<p>The Eclipse SDK is a development environment targeted at technical
professionals - not an end user application. However, the Eclipse SDK tools will
permit technical professionals who are working in English to build Hebrew/Arabic
end user Java programs which are themselves not based on the Eclipse SDK. The
BIDI support in the Eclipse SDK allows a Java programmer to work with BIDI
strings, code comments, etc. but the Eclipse SDK itself is not designed to be
localized for BIDI locales and its widget orientation cannot be changed.</p>
<p><i>IMPORTANT: The above BIDI support is available only on Windows platforms.</i></p>

<h2>

2. <a name="Compatibility with Previous Release"></a> Compatibility with Previous Releases</h2>

<h3>Compatibility of Release 2.1 with 2.0</h3>
 Eclipse SDK 2.1 is intended to be upwards compatible with Eclipse SDK 2.0.
We have made exceptions only in areas where slavishly maintaining compatibility
would not be in the best interests of Eclipse or its clients. The exceptions are
noted in the next section.<p><b>API Contract Compatibility:</b> Eclipse SDK 2.1 will be upwards
contract-compatible with Eclipse SDK 2.0 unless noted. This means that
programs in full compliance with contracts specified in Eclipse SDK 2.0 APIs
will automatically be in full compliance with Eclipse SDK 2.1 APIs. (API is
construed broadly to include such things as plug-in extension points.) Downward
contract compatibility is not supported. There is no guarantee that compliance
with Eclipse SDK 2.1 APIs would ensure compliance with Eclipse SDK 2.0
APIs. Refer to <i><a href="http://eclipse.org/eclipse/development/java-api-evolution.html">Evolving
Java-based APIs</a></i> for a discussion of the kinds of API changes that
maintain contract compatibility.</p>
<p><b>Binary (plug-in) Compatibility:</b> Eclipse SDK 2.1 will be upwards
binary-compatible with Eclipse SDK 2.0 unless noted. This means that
plug-ins built for Eclipse SDK 2.0 will continue to work correctly in
Eclipse SDK 2.1 without change. Downward plug-in compatibility is not supported.
Plug-ins for Eclipse SDK 2.1 are unlikely to be usable in Eclipse SDK
2.0. Plug-ins with hard-coded references in their plug-in manifest file to 2.0
versions of prerequisite Eclipse Project plug-ins will work in 2.1 provided the
version match rule is &quot;greaterOrEqual&quot; or &quot;compatible&quot; (the
default); references using &quot;perfect&quot; or &quot;equivalent&quot; match
rules will be broken. 
 Refer to <i><a href="http://eclipse.org/eclipse/development/java-api-evolution.html">Evolving
Java-based APIs</a></i> for a discussion of the kinds of API changes that
maintain binary compatibility.
<p><b>Source Compatibility:</b> Eclipse SDK 2.1 will be upwards
source-compatible with Eclipse SDK 2.0 unless noted. This means that source
files written to use Eclipse SDK 2.0 APIs can be successfully compiled and
run against Eclipse SDK 2.1 APIs. Since source incompatibilities are easy to
deal with, maintaining source compatibility is considered much less important
than maintaining contract and binary compatibility. Downward source
compatibility is not supported. If source files use new Eclipse SDK APIs, they
will not be usable with an earlier version of Eclipse SDK.
<p><b>Workspace Compatibility:</b> Eclipse SDK 2.1 will be upwards
workspace-compatible with Eclipse SDK 2.0 unless noted. This means that
workspaces and projects created with Eclipse SDK 2.0 can be successfully opened
by Eclipse SDK 2.1 and upgraded to a 2.1 workspace.&nbsp; Individual plug-ins
developed for Eclipse SDK 2.0 should provide similar upwards compatibility for
their workspace metadata; plug-in developers are responsible for ensuring that
their plug-ins recognize 2.0 metadata and process it appropriately. User
interface session state may be discarded when a workspace is upgraded.&nbsp;
Downward workspace compatibility is not supported. A workspace created (or
opened) by Eclipse SDK 2.1 will be unusable with an earlier version of Eclipse
SDK.&nbsp;&nbsp;
<p><b>Non-compliant usage of API's</b>: All non-API methods and classes, and
certainly everything in a package with &quot;internal&quot; in its name, are
considered implementation details which may vary between operating environment
and are subject to change without notice. Client plug-ins that directly depend
on anything other than what is specified in the Eclipse SDK API are inherently
unsupportable and receive no guarantees about compatibility within a single
release much less with an earlier release. Refer to <i><a href="http://www.eclipse.org/articles/Article-API%20use/eclipse-api-usage-rules.html">How
to Use the Eclipse API</a></i> for information about how to write compliant
plug-ins.</p>

<h3>
4.1 Incompatibilities between release 2.1 and 2.0</h3>

<p>Eclipse 2.1 breaks compatibility with Eclipse 2.0 in the following areas.</p>

<h3>
Platform -
UI</h3>

<p>
<i>[TBD]</i></p>

<h3>Platform - Debug</h3>

<p>
<i>[TBD]</i></p>

<h3>
Platform -
Core</h3>

<p>
<i>[TBD]</i></p>

<h3>Platform - Help</h3>

<p>
<i>[TBD]</i></p>

<h3>
Platform - Install/Update</h3>

<p>
<i>[TBD]</i></p>

<h3>Platform - Team</h3>

<p>
<i>[TBD]</i></p>

<h3>
 JDT - Core</h3>

<p>
<i>[TBD]</i></p>

<h3>
 JDT - UI</h3>

<p>
<i>[TBD]</i></p>

<h3>
 PDE</h3>

<p>
<i>[TBD]</i></p>

<h3>
4.2 Incompatibilities between release 2.0 and 1.0</h3>

The Eclipse SDK 2.0 is upwards compatible with the Eclipse SDK 1.0 to the
greatest extent possible. We made exceptions in areas where slavishly
maintaining compatibility would not be in the best interests of the Platform or
its clients. The exceptions noted in the 2.0 release notes are repeated here for
the benefit of customers migrating from 1.0 to 2.1 directly.

<h3>
Platform -
UI</h3>

<p>The public client API has been kept stable with the exception of <code>ITextViewer</code>
interface which changed in an incompatible way:</p>
<ul>
  <li>Added method <code>ITextViewer.invalidateTextPresentation()</code></li>
  <li>Added method <code>ITextViewer.setDefaultPrefixes(String[] defaultPrefixes,
    String contentType)</code></li>
  <li>Removed method <code>ITextViewer.setDefaultPrefix(String defaultPrefix,
    String contentType)</code></li>
</ul>

<h3>Platform - Debug</h3>
<p>The debug API has been completely reworked for 2.0. The new APIs are not
compatible with the 1.0 APIs, which were all considered &quot;interim&quot;.</p>
<p>The high level API differences between the new and old debug platforms are:</p>
<ul>
  <li>Breakpoints - In 1.0, breakpoints were implemented as markers. In 2.0,
    breakpoints are implemented as objects (interface <code>IBreakpoint</code>),
    with an associated marker used for presentation in editors, and persistence
    of attributes. There is a new extension point for registering types of
    breakpoints: <code>org.eclipse.debug.core.breakpoints</code>.</li>
  <li>Launch Configurations - In 1.0, an <code>ILauncher</code> was used to
    launch applications. In 2.0, the concept of a &quot;launcher&quot; has been
    replaced with a launch configuration. There are new extension points to
    register launch configuration types, and for comparing launch
    configurations (<code>org.eclipse.debug.core.launchConfigurationTypes</code>,
    <code>org.eclipse.debug.core.launchConfigurationComparators</code>). The
    associated interfaces are <code>ILaunchConfigurationType</code>, <code>ILaunchConfiguration</code>,
    <code>ILaunchConfigurationWorkingCopy</code>, and <code>ILaunchConfigurationDelegate</code>.</li>
  <li>Launch Configuration Tab Groups - In 1.0, wizards were registered with
    launchers for launch related UI. In 2.0, the launch configuration dialog and
    launch shortcuts replace launch wizards. The associated extension points are
    <code>org.eclipse.debug.ui.launchConfigurationTabGroups</code>, <code>org.eclipse.debug.ui.launchConfigurationTypeImages</code>,
    and <code>org.eclipse.debug.ui.launchShortcuts</code>. The associated
    interfaces are <code>ILaunchConfigurationTabGroup</code>, <code>ILaunchConfigurationTab</code>,
    and <code>ILaunchShortcut</code>.</li>
  <li>Debug model API changes - Interfaces defining the debug model elements
    have been modified, and new debug elements have been added to support
    procedural debug and expression management.</li>
</ul>
<p>As well, the Java debug model API has been enhanced and changed to reflect
changes in the debug platform.</p>

<h3>
Platform -
Core</h3>

<p>Eclipse 1.0 Core Target Management was provisional. For 2.0, Core Target Management has been withdrawn
and replaced by team target management providers. These new target management
facilities are early access, and are contained in the Eclipse FTP and WebDAV
Support feature (separately installable).
<h3>Platform - Help</h3>
<p>Help APIs and extension points were marked as interim in Eclipse 1.0. Based
on the initial feedback, the Help APIs and extension points have changed
significantly in Eclipse 2.0 and are not compatible with those in Eclipse 1.0.</p>

<h3>Platform - Scripting</h3>

<p>Eclipse 1.0 Scripting support was provisional and incomplete. For 2.0, the
Scripting component has been withdrawn completely from the Eclipse Platform.

<h3>
Platform - Install/Update</h3>

<p>The Install/Update component API has been completely reworked for 2.0. The 1.0 notion
of component has been replaced in 2.0 by the notion of a feature. The new APIs are not
compatible with the 1.0 APIs, which were all considered &quot;interim&quot;.</p>

<h3>Platform - Team</h3>
<p>Workspace compatibility from VCM CVS 1.0 to Team CVS 2.0: the meta
information for CVS providers has considerably changed from 1.0 to 2.0, and the
meta information is not being preserved. To ease migration, some automation of
migrating CVS repository locations is provided, and some helpful steps have been
included. These are described in the <a href="http://dev.eclipse.org/viewcvs/index.cgi/~checkout~/platform-vcm-home/docs/online/cvs_features2.0/cvs-faq.html#10">Team
CVS FAQ</a>.</p>

<h3>
 PDE</h3>
<h4>Extension point schema file extension changed</h4>
<p>Extension point schema file extension has been changed from *.xsd to *.exsd
to avoid conflicts with XML schema editors and/or non-PDE schema files. PDE will
still detect files with the old extension and will issue a warning about the
change.</p>
<h4>Support for components removed</h4>
<p>Eclipse 2.0 Install/Update has discontinued the use of components
in favor of features. Consequently, PDE 2.0 supports feature-related
development while component support has been removed. Features are described in
the Eclipse Platform Plug-in Developer Guide.</p>
<h2>
 3. <a name="Known Issues"></a> Known Issues</h2>
<blockquote>
  <p><a href="#I-Platform">3.1 Platform</a><br>
  &nbsp;&nbsp;&nbsp;&nbsp; <a href="#I-Platform - Core">3.1.1 Core</a><br>
  &nbsp;&nbsp;&nbsp;&nbsp; <a href="#I-Platform - Ant">3.1.2 Ant</a><br>
  &nbsp;&nbsp;&nbsp;&nbsp; <a href="#I-Platform - Help">3.1.3 Help</a><br>
  &nbsp;&nbsp;&nbsp;&nbsp; <a href="#I-Platform - UI">3.1.4 UI</a><br>
  &nbsp;&nbsp;&nbsp;&nbsp; <a href="#I-Platform - SWT">3.1.5 SWT</a><br>
  &nbsp;&nbsp;&nbsp;&nbsp; <a href="#I-Platform - Team - CVS">3.1.6 Team</a><br>
  &nbsp;&nbsp;&nbsp;&nbsp; <a href="#I-Platform - Install/Update">3.1.7
  Install/Update</a><a href="#I-Java Development Tools (JDT)"><br>
  3.2 Java Development Tools (JDT)</a><a href="#I-Plug-in Development Environment (PDE)"><br>
  3.3 Plug-in Development Environment (PDE)</a><br>
  <a href="#I-Other - FTP and WebDAV support">3.4 Other<br>
  </a>&nbsp;&nbsp;&nbsp;&nbsp; <a href="#I-Other - FTP and WebDAV support">3.4.1
  FTP and WebDAV support</a></p>
</blockquote>
<p>
Note: Bug numbers refer to the Eclipse project bug database at <a href="http://dev.eclipse.org/bugs/">http://dev.eclipse.org/bugs/</a></p>

<p>
As a reminder of past problems, items carried over from the most recent release
notes (2.0.1) are shown in <font color="#00FF00">green</font>. Many of these can
be expected to go away, although some will remain.</p>

<h3>
3.1 <a name="I-Platform">Platform</a></h3>

<h4><font color="#00FF00">Eclipse process does not exit (HP-UX only)</font></h4>

<p>
<font color="#00FF00">
On HP-UX, the HP JVM process that runs the Eclipse Workbench does not terminate
upon closing the workbench. The remedy is to always pass the <code>-XdoCloseWithReadPending</code>
to the VM via the Eclipse launcher command line; that is, launch Eclipse with
the command line:</font></p>

<blockquote>

<p>
<code><font color="#00FF00">eclipse -vmargs -XdoCloseWithReadPending</font></code></p>

</blockquote>

<p>
<font color="#00FF00">
(<a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=18321">bug 18321</a>)</font></p>

<h3>
3.1.1 <a name="I-Platform - Core">Platform -
Core</a></h3>

<h4><b><font color="#00FF00">Invalid characters in install directory prevents Eclipse from starting</font></b></h4>
<p> <font color="#00FF00"> Eclipse will fail to launch if installed in a directory whose path contains certain invalid
characters, including
:%#&lt;&gt;&quot;!. The workaround is to install Eclipse in a directory whose
path does contain invalid characters. (<a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3109">bugs
3109</a>, <a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=17281">17281</a>)</font></p>
<h4><b><font color="#00FF00">Problems with classloaders in created threads</font></b></h4>
<p><font color="#00FF00">There is a known issue with trying to load classes from a newly created
thread using a class loader different from the plug-in class loader. The result
will be a <code>ClassNotFoundException</code>. As a workaround, do the following:</font></p>
<ol>
  <li> <font color="#00FF00"> Create a thread in which to run your code.</font></li>
  <li><font color="#00FF00">Send yourThread.setContextClassLoader(yourClassLoader); // you can find
your classloader by grabbing a class it loaded (YourPluginClass.class.getClassLoader())</font></li>
  <li><font color="#00FF00">Run your code in the newly created thread.</font></li>
</ol>
<p><font color="#00FF00">If you set the context class loader for the current thread, you are competing
with other users of the thread (all of Eclipse), so the results will be unpredictable. (<a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=8907">bug
8907</a>)</font></p>
<h4><font color="#00FF00">Deadlock creating executable extension in Plugin.startup</font></h4>
<p><font color="#00FF00">If <code>Plugin.startup</code> code is too complex
and performs tasks such as creating an executable extension, a deadlock
situation can be created. Only simple bookkeeping tasks should be performed in <code>Plugin.startup</code>
code. (<a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=12827">bugs 12827</a>,
<a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5875">5875</a>, <a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=16141">16141</a>)</font></p>
<h3>3.1.2 <a name="I-Platform - Ant">Platform - Ant</a></h3>
<h4><font color="#00FF00">System.exit() in Ant task causes Eclipse to crash</font></h4>
<p><font color="#00FF00">If an Ant script is run as an external tool or using the <b>Run Ant</b>
pop-up menu, it runs on the same Java VM as Eclipse. If the running script
execute any Ant task that calls <code>System.exit(int)</code>, Eclipse exits and
any unsaved work is lost. A workaround for these Ant tasks is to configure Ant as
an external tool. The following steps show how this is done:</font></p>
<blockquote>
  <blockquote>
    <ol>
      <li><font color="#00FF00">Download and install the binary version of Ant from http://jakarta.apache.org/ant</font></li>
      <li><font color="#00FF00">Click <b>Run &gt; External Tools &gt; Configure</b>.</font></li>
      <li><font color="#00FF00">Click <b>New</b>.</font></li>
      <li><font color="#00FF00">Enter a name for your external tool (for example, &quot;External
        Ant&quot;).</font></li>
      <li><font color="#00FF00">Click <b>Browse File System</b>.</font></li>
      <li><font color="#00FF00">Find and select a file called <code>ant.bat</code> (it should be in
        the bin/ folder of your Ant installation).</font></li>
      <li><font color="#00FF00">In the <b>Tool Arguments</b> field enter the arguments for your script
        that would normally enter for running the script outside of the
        Workbench.</font></li>
      <li><font color="#00FF00">In the <b>Working directory</b> field enter the directory of your
        script.</font></li>
      <li><font color="#00FF00">Click <b>OK</b> to exit the wizard.</font></li>
      <li><font color="#00FF00">To run the script, click <b>Run &gt; External Tools &gt; External Ant</b>.</font></li>
    </ol>
  </blockquote>
</blockquote>
<p><font color="#00FF00">(<a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=17487">bug 17487</a>)</font></p>

<h3>
3.1.3 <a name="I-Platform - Help">
Platform -
Help</a></h3>

<h4><font color="#00FF00">Help documents not displayed in a browser or very slow document loading
(Windows only)</font></h4>
<font color="#00FF00">
If your LAN settings are not properly configured for local host access, your
Help browser might open to a blank page or display an HTTP error instead of a
help page, or you may experience long delays when loading help documents. Your
system administrator can configure your LAN settings so that help documents can
be accessed from the local help server.</font>
<blockquote>
  <ol>
    <li><font color="#00FF00">In the Control Panel, open <b>Internet Options</b>, select the <b>Connections</b> tab and choose
      <b>LAN Settings</b>.</font></li>
    <li><font color="#00FF00">If your host was configured to use DHCP for IP assignment, make sure
      that the &quot;Automatically detect settings&quot; check box is cleared.</font></li>
    <li><font color="#00FF00">If you use proxy server, ensure that the &quot;Bypass proxy server for
      local addresses&quot; is selected.</font></li>
    <li><font color="#00FF00">In &quot;Advanced&quot; settings for proxies, add
      &quot;127.0.0.1;localhost&quot; to the &quot;Exceptions&quot; if these
      addresses are not listed.</font></li>
    <li><font color="#00FF00">If you are using an automatic configuration script for proxy settings, and
      are not sure that the script is correct, clear the &quot;Use automatic
      configuration script&quot; check box.</font></li>
  </ol>
</blockquote>
<p><font color="#00FF00">If the above steps do not fix your problem, try changing the port and host
properties in <code> org.eclipse.tomcat\preferences.ini</code>. In general, setting
<code> host=localhost</code>
or <code> host=127.0.0.1</code> should work. Also, especially when running a firewall, you may
want to set <code> port=80</code> or some other firewall-friendly value. (<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7036">bugs
7036</a>,
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9418">9418</a>, <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11394">11394</a>)</font></p>
<h4><font color="#00FF00">Working disconnected from the network (Windows only)</font></h4>
<font color="#00FF00">
If you are experiencing problems when not connected to the network you must
install the loopback adapter from the Windows installation CD. (<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=831">bug
831</a>)</font>
<h4><font color="#00FF00">Using Internet Explorer in offline mode (Windows only)</font></h4>
<font color="#00FF00">
If you have been using Internet Explorer in Offline mode, when you access the
help system, you will get a message indicating that the web page you requested
is not available offline. Click <b> Connect</b> to return the system behavior to normal.</font>
<h4><font color="#00FF00">Opening and navigating Help produces clicking sound (Windows only)</font></h4>
<font color="#00FF00">
Internet Explorer has a sound event associated with navigate events. To turn
this sound off, go to <b> Control Panel -&gt; Sounds -&gt;Windows Explorer </b> and
change the sound for &quot;Start Navigation&quot; to &quot;none&quot; in the
menu box. (<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16081">bug
16081</a>)</font>
<h4><font color="#00FF00">Keyboard navigation in help using Mozilla</font></h4>
<font color="#00FF00">
Accessibility support is limited in pre-1.0 releases of the Mozilla browser. If
you need to navigate help using the keyboard, you must upgrade to Mozilla version 1.0. (<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15018">bug
15018</a>)</font>
<h4><font color="#00FF00">Searching help produces unexpected results and highlights incomplete words</font></h4>
<font color="#00FF00">
For some languages, a stemming algorithm is used to enhance the chance of a
search hit. For these languages, the word roots are searched for; exact searches are not
supported.&nbsp; As such, the result set contains
documents with variations of the search query words, and only the common roots
are highlighted in the document. Stemming and stop word removal also applies to search query terms enclosed in quotation marks (&quot;), so the
search results will not be an exact match of the quoted string. (<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17030">bug
17030</a>)</font>

<h3>
3.1.4 <a name="I-Platform - UI">
Platform -
UI</a></h3>

<h4><font color="#00FF00">Manual refresh required when files modified outside Eclipse</font></h4>
<p><font color="#00FF00">When files within a project are added or removed outside of Eclipse, or
when an external editor is used to modify a file within a project, a manual
refresh must be done in order for the changes to show up in the Workbench. To do
this, select the project in the Navigator view and choose <b> Refresh</b> from the
pop-up menu. This refreshes only the selected project. Alternatively, activate
the Navigator view and press F5, which refreshes all projects.</font></p>
<h4><font color="#00FF00">Dirty state not tracked properly for OLE documents (Windows only)</font></h4>
<p><font color="#00FF00">The dirty state for an OLE document is not updated properly. This causes
it to prompt to save the contents when the document is closed, even if the
contents have already been saved.</font></p>
<h4> <font color="#00FF00"> OLE document crashes can cause Eclipse to also crash
(Windows only)</font></h4>
<p><font color="#00FF00">If an OLE document crashes, this can cause Eclipse to either crash, or
to have workbench menus become inconsistent.</font></p>
<h4><font color="#00FF00">Minimum display resolution</font></h4>
<p><font color="#00FF00">A number of dialogs in Eclipse, such as the Preferences dialog, require a
minimum display resolution of at least 800 x 600. (<a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5549">bug
5549</a>)</font></p>
<h4><font color="#00FF00">External Tools will automatically quote path variables containing spaces</font></h4>
<p><font color="#00FF00">When an external tool is launched, expanded path variables that contain
spaces will be enclosed in double quotes ( &quot; ). While it is typical for
Windows executables to expect paths containing spaces to be quoted, this is
known to cause problems on platforms such as Linux which do not expect these
quotes. A workaround is to make the external tool a script which strips off the
quotes before launching the executable with those parameters. (<a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=20599">bug
20599</a>)</font></p>
<h4><font color="#00FF00">Default text file encoding may be detected incorrectly (Windows XP/2000
only)</font></h4>
<p><font color="#00FF00">The &quot;Text file encoding&quot; value displayed in the Preferences dialog under
&quot;Editors&quot; may be wrong on platforms running Windows XP (or 2000) when
the user locale and
system locale differ.&nbsp;</font></p>
<p> <font color="#00FF00"> Example of the manifestation of the bug: A Japanese user using Japanese Windows 2000 works in New York, United States.
The user has selected English (United States) as the user locale. The &quot;Text file
encoding&quot; value displayed by Eclipse is incorrect: &quot;Cp1252&quot; (English). It
should display the system locale &quot;MS932&quot; (Japanese).</font></p>
<p><font color="#00FF00">Workaround:
The user can modify the user locale so that user locale and system locale are
identical. In the example above, this means the user should set Japanese as the
user locale. Then restart Eclipse. The &quot;Text file encoding&quot; value will then be
correct: &quot;MS932&quot; (Japanese).</font></p>
<p><font color="#00FF00">For Windows XP:</font></p>
<ul>
  <li><font color="#00FF00">To check the system locale:
Open the Control Panel. Go to Regional and Language Options. Switch to the
    Advanced tab. The system locale is specified in &quot;Language for non-Unicode
    programs&quot;.</font></li>
  <li><font color="#00FF00">To change the user locale:
Open the Control Panel. Go to Regional and Language Options. The user locale can
be modified by changing the language in &quot;Standards and formats&quot;.</font></li>
</ul>
<p><font color="#00FF00">For Windows 2000:</font></p>
<ul>
  <li><font color="#00FF00">To check the system locale:
Open the Control Panel. Go to Regional Options. Look up the items in the General
    tab, inside the &quot;Language settings for the system&quot; group. The system
locale is the item marked as (Default).</font></li>
  <li><font color="#00FF00">To change the user locale:
Open the Control Panel. Go to Regional Options. The user locale can be modified
by changing the location in &quot;Settings for the current user&quot;.</font></li>
</ul>
<p><font color="#00FF00">(<a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=20641">bug 20641</a>)</font></p>
<h4><font color="#00FF00">Preferred Output Level on External Tools preferences page has no effect</font></h4>
<p><font color="#00FF00">In <b>Window &gt; Preferences &gt; External Tools</b>, there is a group of radio
buttons under the heading &quot;Preferred Output Level&quot; with possible
options of &quot;Information&quot;, &quot;Verbose&quot; and &quot;Debug&quot;.
Changing these values does not affect Eclipse in any way. Workaround: when
running an Ant script, use the Ant command line arguments <code>-verbose</code>
or <code>-debug</code> to get an output level other than the default
(&quot;Information&quot;). (<a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=20817">bug
20817</a>)</font></p>
<h4><font color="#00FF00">Updating the toolbar in multi-page editors</font></h4>
<p><font color="#00FF00">Clients of action bars may create a number of <code>SubToolBarManagers</code>
on their <code>IToolBarManager</code>  (e.g., multipage editor). The client will
typically make one <code>SubToolBarManager</code>  visible, the rest invisible,
and call <code>updateActionBars</code>. The visibility of the items may not
update correctly.</font></p>
<p><font color="#00FF00">A workaround is for the client to explicitly update the toolbar:</font></p>
<blockquote>
  <p><code><font color="#00FF00">actionBars.updateActionBars();<br>
  actionBars.getToolBarManager().update(false);</font></code></p>
</blockquote>
<p><font color="#00FF00">(<a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=20988">bug 20988</a>)</font></p>

<h3>
3.1.5 <a name="I-Platform - SWT">
Platform -
SWT</a></h3>

<b>
<p><font color="#00FF00">Available colors on 8-bit Linux (Linux only)</font></p>
</b>
<p><font color="#00FF00">Typically, in Gnome Linux installs running with 8-bit visuals (i.e. 256 color
mode), before the Eclipse application is started you already do not have any
free colors. This may mean that Eclipse is unable to allocate the default widget
background color, causing it to display a white background. The functionality,
however, is otherwise unaffected.</font></p>
<b>
<p><font color="#00FF00">Printing support (Linux only)</font></p>
</b>
<p><font color="#00FF00">The X printing extension implementation on Linux is currently disabled
because it can take up to 7 seconds to determine that the X print server is not
running. Until this is rectified, <code>Printer.getPrinterList()</code> will
always return an empty array on Linux. (<a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=8821">bug
8821</a>)</font></p>
<b>
<p><font color="#00FF00">Disposing in a focus event</font></p>
</b>
<p><font color="#00FF00">Applications should not dispose widgets in focus changing events. Doing so on
Motif may cause Eclipse to terminate, since Motif accesses the disposed widget
within their internal focus change event handler. A similar (but less serious)
issue exists on Windows and occasionally results in an SWT exception being thrown.</font></p>
<b>
<p><font color="#00FF00">List and ComboBox on Windows NT (Windows NT only)</font></p>
</b>
<p><font color="#00FF00">On Windows NT only, you should avoid creating items in a <code> List</code> or
<code> ComboBox</code>
with strings longer than 1000 characters. Doing so may result in a General
Protection Fault. This has been fixed in more recent versions of Windows.</font></p>
<b>
<p><font color="#00FF00">BiDi support</font></p>
</b>
<p><font color="#00FF00">The <code> StyledText</code> widget provides bidirectional language support for Hebrew and
Arabic locales. Currently this support is available only on Windows and has
several known problems.</font></p>
<b>
<p><font color="#00FF00">Cursor constructor arguments</font></p>
</b><p><font color="#00FF00">In the constructor <code> Cursor(Device device,
ImageData source, ImageData mask, int hotspotX, int hotspotY)</code>,
when both a source and mask argument are specified (that is, the mask is not null), the
meaning of the two arguments is reversed. That is, the &quot;mask&quot; argument
should be the source image and the &quot;source&quot; argument should be the
mask image. (<a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=4809">bug 4809</a>)</font></p>
<b>
<p><font color="#00FF00">Using IBM J9 VM (Photon and AIX)</font></p>
</b><p><font color="#00FF00">On QNX Photon and IBM AIX, the SWT library will not be found when running
with an IBM J9 1.5 VM. This is a bug in the IBM J9 class library in version 1.5.
You can workaround this problem by adding the SWT library directory to your
LD_LIBRARY_PATH environment variable.</font></p>
<b>
<p><font color="#00FF00">Missing permissions for SWT native libraries in workspace (HP-UX only)</font></p>
</b>
<p><font color="#00FF00">When retrieving the SWT Motif fragment into an Eclipse workspace, the
permissions of the native libraries are reset. This creates a problem on
HP-UX because shared libraries need to have execute permission. Attempting to
self-host with this fragment throws an UnsatisfiedLinkError...Permission Denied
error. You must manually change the permissions to make these libraries accessible
(assume the workspace is at <code>/workspace</code>):</font></p>
<blockquote>
  <blockquote>
    <p><code><font color="#00FF00">cd /workspace/org.eclipse.swt.motif/os/hpux/PA_RISC<br>
    chmod 555 *.sl</font></code></p>
  </blockquote>
</blockquote>
<p>
<font color="#00FF00">
(<a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=20305">bug 20305</a>
describes a related problem)</font></p>

<b>
<h4><font color="#00FF00">Javadoc not consistent across platforms</font></h4>
</b>
<p><font color="#00FF00">Because of a bug in the way we updated the javadoc in SWT source code, the
javadoc for protected methods is not consistent across platforms. The javadoc
for the Windows platform, which is used to generate the documentation that
appears in the Platform Plug-in Developer guide, is the definitive source. The
javadoc for the other window systems will be brought into line in a future
release. (<a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=20968">bug 20968</a>)</font></p>
<b>
<h4><font color="#00FF00">JAWS requires MSAA for List Views to read checkboxes in Tables (Windows
only)</font></h4>
</b>
<p><font color="#00FF00">In order for JAWS to detect the checkbox information in Tables, MSAA support
for List Views must be activated as follows:</font></p>
<blockquote>
  <ol>
    <li><font color="#00FF00">Open Eclipse and hit INSERT + F2.</font></li>
    <li><font color="#00FF00">In the Run JAWS Manager dialog select Configuration
      Manager.</font></li>
    <li><font color="#00FF00">In the Jaws Configuration Manager that opens up, select Set Options and then select
      Advanced Options.</font></li>
    <li><font color="#00FF00">Check &quot;Rely on MSAA for List views&quot;.</font></li>
    <li><font color="#00FF00">Hit the OK button.</font></li>
    <li><font color="#00FF00">Choose <b> File &gt; Save</b> from the menu bar.</font></li>
  </ol>
</blockquote>
<b>
<h4><font color="#00FF00">No accelerators or mnemonics on Solaris (Solaris only)</font></h4>
</b>
<p><font color="#00FF00">The Solaris implementation of Motif has a long-standing bug with respect to
adding and removing accelerators and mnemonics. The behavior is such that the
time to do so becomes increasingly longer each time it occurs, to the point
that, in Eclipse's case, it can take more than a minute to switch between
editors and views! Because of this, accelerators and mnemonics are explicitly
ignored on Solaris.</font></p>

<h3>
3.1.6 <a name="I-Platform - Team - CVS">
Platform -
Team - CVS</a></h3>

<p>Note: Additional information on how to use CVS from Eclipse can be found in the <a href="http://dev.eclipse.org/viewcvs/index.cgi/~checkout~/platform-vcm-home/docs/online/cvs_features2.0/cvs-faq.html">Eclipse
CVS FAQ</a>.</p>
<h4><font color="#00FF00">&quot;extssh&quot; is not a supported command line method</font></h4>
<p><font color="#00FF00">Since the &quot;extssh&quot; connection method is not a supported command line method,
you cannot use the command line tool when a project uses this method. Instead,
use the Eclipse supported &quot;ext&quot; method and set the appropriate environment
variables so that the command line tool will work. (<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7943">bug
7943</a>)</font></p>
<h4><font color="#00FF00">Connection cannot be found after initially missing</font></h4>
<p><font color="#00FF00">If a connection initially fails due to a network problem, the connection may continue to fail even when the network problem is fixed. In order to
establish the connection you must exit and restart Eclipse. (<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9295">bug
9295</a>)</font></p>
<h4><font color="#00FF00">CVS meta-folders appear in some cases</font></h4>
<p><font color="#00FF00">There are some cases where CVS folders are not
hidden from the UI as the user would expect. For instance, CVS folders will
appear if a user imports a CVS project into Eclipse before the CVS plug-in is
loaded. To avoid this, open the CVS Repositories view (thus loading the CVS
plug-in) before importing CVS projects into Eclipse. (<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12386">bug
12386</a>)</font></p>
<h4><font color="#00FF00">&quot;Received broken pipe signal&quot; error from server</font></h4>
<p><font color="#00FF00">Eclipse sometime performs multiple commands within a single connection to the
server. This may cause problems with CVS servers that are running server scripts
in response to certain commands. (<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15490">bug
15490</a>)</font></p>
<h4><font color="#00FF00">&quot;Terminated with fatal signal 10&quot; error from server</font></h4>
<p><font color="#00FF00">There is a bug in the CVS server related to some compression levels. If you
get this error, changing the compression level on the CVS preference page may
help. (<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15724">bug 15724</a>)</font></p>
<h4><font color="#00FF00">Team &gt; Update does not indicate that there are outgoing changes</font></h4>
<p><font color="#00FF00">The <b>Team &gt; Update</b> command will load all remote changes into your local working copy. If you
are using <b>Team &gt; Update</b> and you want to see which files have outgoing changes,
open the CVS console before performing the update. The console will show the
results of the update (which files had mergeable conflicts, which ones had
unmergeable conflicts and which ones had outgoing changes). <b>Warning</b>:
Only use <b>Team &gt; Update</b> if you know CVS. If there are &quot;real&quot; conflicts
(i.e., those that affect the same line of a file) then CVS will add markup to the
file during the update. Resolving these conflicts in this manner is not
pleasant. (<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16750">bug
16750</a>)</font></p>
<h4><font color="#00FF00">Synchronize view &quot;Mark as Merged&quot; has surprising behavior with
respect to modes</font></h4>
<p><font color="#00FF00">When you <b>Mark as Merged</b>, if its your only incoming change and you
are in the incoming mode, the sync view becomes empty. On the surface it looks
like the change is gone. However, your change will appear in outgoing mode. (<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18513">bug
18513</a>)</font></p>
<h4><font color="#00FF00">Team &gt; Commit on an unchanged file does not update decorator</font></h4>
<p><font color="#00FF00">If you perform a <b> Team &gt; Commit</b> on a file that has been modified but whose
contents match the contents of the file on the server, the file will remain on
outgoing change. To correct the problem, either perform a <b> Team &gt; Update</b> or
use the Synchronize view to commit. (<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18647">bug
18647</a>)</font></p>
<h4><font color="#00FF00">Change ASCII/Binary Properties not available for unadded files</font></h4>
<p><font color="#00FF00">The <b> Change ASCII/Binary Properties</b> menu item is only enabled for files and
folders that are under CVS control. If you want to set the keyword substitution
mode for a new file, you will need to add it to version control first. (<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19183">bug
19183</a>)</font></p>
<h4><font color="#00FF00">Error updating incoming directory additions with pruning turned off</font></h4>
<p><font color="#00FF00">If pruning is turned off and a project has incoming nested folder additions
that do not contain any files, performing an update in the Synchronize view will
result in an error (cannot create folder). The workaround is to perform a <b> Team
&gt; Update</b> which will bring in the directories. (<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19442">bug
19442</a>)</font></p>
<h4><font color="#00FF00">&quot;Remove from View&quot; in Synchronize view does not exclude resources
from view actions</font></h4>
<p><font color="#00FF00">If you remove one or more resources from the Synchronize view using the <b>
Remove from View</b> menu item, these resources will no longer appear but they will
still be included in any performed operations (Update, Commit, etc.) (<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19538">bug
19538</a>)</font></p>
<h4><font color="#00FF00">Ctrl-S does not save in Synchronize view and CVS compare views</font></h4>
<p><font color="#00FF00">Ctrl-S does not perform a save in the workspace resource editor in the
Synchronize view. Instead, use the popup menu and choose <b>Save</b>. (<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20327">bug
20327</a>)</font></p>
<h4><font color="#00FF00">CVS automatically prunes empty directories</font></h4>
<p><font color="#00FF00">By default, empty directories will be pruned on checkout and update. This is
desirable in most cases as directories on a CVS server are never deleted.
However, if this causes problems, there is a CVS preference to disable
auto-pruning. (<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20463">bug
20463</a>)</font></p>
<h4><font color="#00FF00">ClassCastException on attempt to replace directory with file</font></h4>
<p><font color="#00FF00">Performing the following steps will result in the above exception:</font></p>
<ol>
  <li><font color="#00FF00">Create a new project &amp; share it with a CVS repository.</font></li>
  <li><font color="#00FF00">Create a directory in the project root and a file inside this directory.</font></li>
  <li><font color="#00FF00">Synchronize the project using <b>Team &gt; Synchronize with Repository</b>.</font></li>
  <li><font color="#00FF00">Locally delete the directory (and contained file) that was just created</font></li>
  <li><font color="#00FF00">Create a file in the project root with the same name as the directory that
    was just deleted.</font></li>
  <li><font color="#00FF00">Synchronize again using <b>Team &gt; Synchronize with Repository</b>.</font></li>
</ol>
<p><font color="#00FF00">The workaround is to commit the folder deletion before creating the new file.
(<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20906">bug 20906</a>)</font></p>
<h4><font color="#00FF00">Still prompted if delete unmanaged preference turned off</font></h4>
<p><font color="#00FF00">If the &quot;delete unmanaged resources on replace&quot; preference has been
disabled on the <b>Team &gt; CVS</b> preference page and a <b>Team &gt; Replace
With</b> operation is performed on a project that has one unmanaged resource and
no other outgoing changes, the user is prompted to overwrite local changes even
though the operation will not overwrite the unmanaged resource. (<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18834">bug
18834</a>)</font></p>
<h4><font color="#00FF00">Hidden CVS/ folders get copied when copying folders from one project to another</font></h4>
<p><font color="#00FF00">If you copy a folder that is under CVS control to a folder that is not, the <code>
CVS/</code> folders (usually not shown) will be copied as well. This can cause problems if the target project is under
CVS control and you try to add the moved folder to CVS control. The workaround
is to manually delete the <code> CVS/</code> subdirectories using the file system browser,
or
disconnect the source project from CVS control before copying the folders. (<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20621">bug
20621</a>)</font></p>
<h4><font color="#00FF00">Update with incoming deletion and addition involving file with different
case fails (Windows only)</font></h4>
<p><font color="#00FF00">On update, if there are incoming deletions for one or more
files and incoming additions for files of the same name with a different case,
then the operation may fail on Windows depending on what order the server sends the files
in. Workaround is to update the deletions first and then the additions using the
Synchronize view. (<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=21001">bug
21001</a>)</font></p>

<h3>
3.1.7 <a name="I-Platform - Install/Update">
Platform - Install/Update</a></h3>

<p><b><font color="#00FF00">Migrating 2.0 pre-release workspaces</font></b>
<p><font color="#00FF00">When migrating an existing workspace that was used with a 2.0 pre-release
version of Eclipse (e.g., created with development drops obtained directly from
eclipse.org, or updated via the Eclipse update manager prior to 2.0 release), it
is strongly recommended that you start with a fresh install of Eclipse 2.0, and
delete the <code>.config/</code> subdirectory of the <code>.metadata/</code>
directory located in the workspace you are migrating (<tt>&lt;workspace&gt;/.metadata/.config/</tt>)
before reopening the workspace. (<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16456">bug
16456</a>)</font></p>
<p><b><font color="#00FF00">Not enough space for temporary files</font></b></p>
<p><font color="#00FF00">If you get the error &quot;java.io.IOException: There is not enough space in
the file system.&quot; but still have plenty of space in the selected install
location, check to make sure that you also have sufficient space in the standard
location where temporary files are created. (<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17787">bug
17787</a>)</font>
<p><b><font color="#00FF00">Workbench non-responsive while attempting to connect</font></b>
<p><font color="#00FF00">If the connection to an update site does not respond (the site does not exist
or is down), the workbench becomes non-responsive until the connection request
times out. Once the time out is reported, you will be able to continue. (<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18598">bugs
18598</a>, <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19775">19775</a>)</font>
<p><b><font color="#00FF00">Processing pending &quot;downgrades&quot;</font></b>
<p><font color="#00FF00">Natively-installed feature changes are automatically detected on workbench
startup. If this change is a downgrade (that is, the newly detected version of a
feature is older that one already configured), you will be prompted whether
you'd like the change applied; even when you say Yes, the change will not
actually be applied, and the currently configured newer feature will remain
configured. If the downgrade was intentional, open <b>Help &gt; Software Updates
&gt; Update Manager</b>, and from the Install Configuration view, choose <b>Show
Disabled Features</b>, explicitly enable the lower version and explicitly
disable the newer version. (<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16502">bug
16502</a>)</font>
<p><b><font color="#00FF00">Local JAR files are locked</font></b>
<p><font color="#00FF00">While processing update sites in the local file system (for example, by
exploring My Computer), some of the feature JAR files may be left open while the
workbench is active, and will not be available to other applications. Exit and
restart the Eclipse to correct this condition. (<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15594">bug
15594</a>)</font>
<p><b><font color="#00FF00">Wrong status being reported for unconfigured or missing features</font></b>
<p><font color="#00FF00">If you select <b>Show Status</b> for a feature that is unconfigured or
missing, the resulting dialog erroneously claims &quot;The feature is configured
properly&quot;. (<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19932">bug
19932</a>)</font>
<p><b><font color="#00FF00">Accessing update sites through a proxy</font></b>
<p><font color="#00FF00">To access an update site through a proxy, you will need to start the
workbench with the following command line options:</font>
<blockquote>
  <p><tt><font color="#00FF00">eclipse -vmargs -DproxySet=true -DproxyHost=&lt;proxy_name&gt; -DproxyPort=&lt;proxy_port&gt;</font></tt></p>
</blockquote>
<p><font color="#00FF00">as documented in <a href="http://www.javaworld.com/javaworld/javatips/jw-javatip42.html.">JavaWorld
Tip 42</a>. Proxies requiring user authentication are currently not supported. (<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19717">bug
19717</a>)</font></p>
<p><b><font color="#00FF00">URL validity checking on input</font></b>
<p><font color="#00FF00">URL syntax is currently not completely checked on input. Ensure that any
entered URLs use the correct separators (eg. forward&nbsp; slash '/') and do not
contain invalid characters. (<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19685">bugs
19685</a>, <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20247">20247</a>)</font>
<p><b><font color="#00FF00">Running &quot;headless&quot; applications that do not handle restart</font></b>
<p><font color="#00FF00">When install changes are detected, the changes are automatically processed
and the workbench restarts. The executable launcher supplied with the
application correctly handles the restart. However, if you have applications
that directly call the platform (eg. by calling the BootLoader APIs) and do not
handle restart, the startup reconciliation processing can be suppressed by
specifying <tt>-noupdate</tt> command line option. In this case, the application
will start with the set of features and plug-ins that were processed and
configured on the previous start. If prior configuration cannot be found, the
application will start with the full set of plug-ins found in the installation
location.</font>

<h3>3.2 <a name="I-Java Development Tools (JDT)">Java Development Tools (JDT)</a></h3>

<h4><font color="#00FF00">Running Java programs with non-Latin-1 characters in package or class names</font></h4>
<font color="#00FF00">
You get a <code>java.lang.NoClassDefFoundError</code> when running Java programs
with non-Latin characters in the package or class names. The workaround is to
package the class files as a JAR file and run the program out of the JAR and not
from the file system directly. (<a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=4181">bug
4181</a>)</font>
<h4><font color="#00FF00">Missing debug attributes</font></h4>
<font color="#00FF00">
The debugger requires that class files be compiled with debug attributes if it
is to be able to display line numbers and local variables. Quite often, class
libraries (for example, &quot;<code>rt.jar</code>&quot;) are compiled without
complete debug attributes, and thus local variables and method arguments for
those classes are not visible in the debugger.</font>
<h4><font color="#00FF00">Setting breakpoints</font></h4>
<font color="#00FF00">
In general the debugger will not allow you to place breakpoints on lines of code
that are not executable (comments, blank lines, etc.). However, there are some
cases where the debugger will allow breakpoints on lines of code that are not
executable. For example, the debugger will allow a breakpoint to be placed on a
variable declaration that does not contain an initializer (&quot;int x;&quot;).
Note that enabled breakpoints which are successfully installed on an executable
line in a running (debuggable) VM are displayed with a checkmark. Breakpoints
that are displayed without a checkmark are not installed in a running (debuggable)
VM.</font>
<h4><font color="#00FF00">Using Hot Code Replace</font></h4>
<font color="#00FF00">
Hot code replace is supported on JDK 1.4.x VMs, and IBM J9 VMs. Hot code replace
is limited to changes which do not effect the shape of a class. That is, changes
within existing methods are supported, but the addition or removal of members is
not supported.</font>
<p><font color="#00FF00">Hot code replace and stepping on JDK 1.4.0 VMs is unreliable. This appears to
be a VM issue that should be fixed in later releases of the JDK.</font></p>
<h4><font color="#00FF00">Scrapbook</font></h4>
<font color="#00FF00">
Setting a breakpoint inside a scrapbook page is not supported.</font>
<p><font color="#00FF00">When a snippet is run in the scrapbook which directly or indirectly calls <code>System.exit(int)</code>,
the evaluation cannot be completed, and will result in a stack trace for a <code>com.sun.jdi.VMDisconnectedException</code>
being displayed in the scrapbook editor.</font>
<p><font color="#00FF00">Terminating a scrapbook page while it is performing an evaluation results in
a <code>com.sun.jdi.VMDisconnectedException</code> being displayed in the
scrapbook editor.</font>
<h4><font color="#00FF00">Debugging over slow connections</font></h4>
<font color="#00FF00">
A global Java debug preference specifies the debugger timeout, which is the
maximum amount of time the debugger waits for a response from the target VM
after making a request of that VM. Slow connections may require that this value
be increased. The timeout value can be edited from the <b>Java &gt; Debug </b>preference
page. Changing the timeout value only effects subsequently launched VM, not VMs
that are already running.</font>
<h4><font color="#00FF00">Updating of inspected values</font></h4>
<font color="#00FF00">
When inspecting the result of an evaluated expression in the debugger, it is
important to note that the result displayed is the result of that expression at
the time it was evaluated. For example, when inspecting a simple integer counter
(primitive data type), the value displayed in the Expressions view is the value
when the expression was evaluated. As the counter is changed in the running
program, the inspected result will not change (since the view is not displaying
the value bound to a variable - it is displaying the value of an expression, and
the value of a primitive data type cannot change). However, if an expression
results in an object, fields of that object will be updated in the inspector as
they change in the running program (since the value bound to fields in an object
can change).</font>
<h4><font color="#00FF00">Stepping over native methods that perform I/O</font></h4>
<font color="#00FF00">
When the debugger steps over native methods that perform I/O to <code>System.out</code>
or <code>System.err</code>, the output may not appear immediately unless the
native performs a flush on the output buffer.</font>
<h4><font color="#00FF00">VM and process termination running on IBM 1.3 JVM on Linux (Linux only)</font></h4>
<font color="#00FF00">
Terminating a launch, debug target, or system process associated with a debug
target running on the IBM 1.3 JVM on the Linux platform does not work when the
associated debug target has a suspended thread. To remove such debug targets
from the debug UI, select <b>Terminate and Remove</b> from the debug view's
pop-up menu (or use the shortcut &quot;delete&quot; key). Associated system
processes in the OS may not be properly cleaned up. If a debug target has no
suspended threads, termination works properly.</font>
<h4><font color="#00FF00">Searching for constant field references</font></h4>
<font color="#00FF00">
Search does not find references to constant fields inside binaries because the
Java Language Specification mandates that constant field values be inlined in
the class file's bytecodes, leaving no trace of a field reference.&nbsp;(<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12044">bug
12044</a>)</font>
<h4><font color="#00FF00">Java compilation units outside of the build class path</font></h4>
<font color="#00FF00">
When a compilation unit with compilation problems is moved outside the Java
build class path, it retains its Java problems forever (its compilation problem
list does not get refreshed because it will never be compiled again). Renaming a
*.java file to one with another a different file extension suffix causes the
same problem. (<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13008">bug
13008</a>)</font>
<h4><font color="#00FF00">Refactoring operations update references in the entire workspace</font></h4>
<font color="#00FF00">
Refactoring operations always update references in the entire workspace. This
can be more than what is needed and expected. For example, when you have the
same project twice in your workspace and you perform a rename refactoring in one
of the projects, then the references in the other project will be updated as
well.</font>
<h4><font color="#00FF00">Actions to modify read-only files</font></h4>
<font color="#00FF00">
Actions on the <b>Source</b> menu (e.g., <b>Generate Getter and Setter</b>) are
always disabled when the file is read-only. This is currently true even when the
repository provider supports automatically checking out files on modification. (<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17600">bug
17600</a>)</font>
<h4><font color="#00FF00">Java code templates</font></h4>
<p><font color="#00FF00">You cannot use <code>${CURSOR}</code> inside of a comment in a Java code
template (<b>Window &gt; Preferences &gt; Java &gt; Templates</b>). (<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19556">bug
19556</a>)</font></p>
<h4><font color="#00FF00">Organize import and imports from default packages</font></h4>
<p><font color="#00FF00">Organize import does not handle imports from default packages. Note that
importing from a default package is no longer supported in JDK 1.4. (<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19487">bug
19487</a>)</font></p>
<h4><font color="#00FF00">Add Javadoc action for fields</font></h4>
<p><font color="#00FF00">The <b>Add Javadoc</b> action does not work for fields. (<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20259">bug
20259</a>)</font></p>
<h4><font color="#00FF00">Javadoc hover in the Java editor</font></h4>
<p><font color="#00FF00">The Javadoc hover help shown when hovering over identifiers in the Java
editor does not handle links inside of Javadoc comments properly. (<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20644">bug
20644</a>)</font></p>

<h3>
3.3 <a name="I-Plug-in Development Environment (PDE)">Plug-in Development
Environment (PDE)</a></h3>

<h4><font color="#00FF00">Comments in source pages of PDE XML editors</font></h4>
<p><font color="#00FF00">PDE provides a number of multi-page editors that
include a raw source page. Editors that handle XML files (plug-in, fragment and
feature manifests) will preserve comments in most cases. However, comments will
not be preserved if added before the root XML element, or if added after the
last child element contained in the parent element. (<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8000">bug
8000</a>)</font></p>
<h4><font color="#00FF00">Clipboard operations in the property view</font></h4>
<p><font color="#00FF00">Clipboard shortcuts (Ctrl+X, Ctrl+C, Ctrl+V etc.) do
not work in cell editors of properties that belong to the PDE Plug-in Manifest
Editor. Use pop-up menu to activate these operations. (<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13776">bug
13776</a>)</font></p>
<h4><font color="#00FF00">Problem while importing fragments</font></h4>
<p><font color="#00FF00">If a workspace contains binary projects for a plug-in
and a fragment that references that plug-in, fragment libraries are added to the
class path of the referenced plug-in project. When an attempt is made to
overwrite the plug-in and the fragment with versions from another build,
deletion of the old fragment may fail. If that happens, repeat the operation to
repair the workspace. Only the affected plug-in and fragment need to be
re-imported. (<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16921">bug
16921</a>)</font></p>
<h4><font color="#00FF00">Assumption that output is in bin/ folder</font></h4>
<p><font color="#00FF00">PDE assumes that all plug-in and fragment projects that
contain Java code have one or more source folders and build output in the <b>bin/</b> 
folder. Although it is possible to change the name of the output folder in
Properties dialog, the PDE run-time workbench launcher does not work correctly
for those plug-ins. (<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17444">bug
17444</a>)</font></p>
<h4><font color="#00FF00">Preferences not working with import/export</font></h4>
<p><font color="#00FF00">Preferences set in PDE preference page called <b>Target Platform</b> 
are not preserved the same way as other preferences. Consequently, they are not
subject to Import/Export operations in the Preferences dialog. (<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19688">bug
19688</a>)</font></p>
<h4><font color="#00FF00">Clipboard operations do not work in the Feature
Manifest Editor</font></h4>
<p><font color="#00FF00">GUI pages of the Feature Manifest Editor support pop-up
menus that contain standard clipboard operations (<b>Cut</b>, <b>Copy</b>, <b>Paste</b>).
However, none of these operations work for structural widgets (trees and lists).
The only place where these operations do work is in text widgets in Information
and Source page (<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20460">bug
20460</a>)</font></p>
<h4><font color="#00FF00">Choosing Compute Build Path causes Java project to no
longer build</font></h4>
<p><font color="#00FF00">PDE computes the build class path of a plug-in project
by looking up source mappings in the <code>build.properties</code>   file. This
file defines how source folders are compiled into runtime libraries. In the
absence of this file, PDE will compute the class path that contains no source
folders, resulting in compilation errors. The required <code>
build.properties</code>  file is generated by PDE when a new plug-in project is
created. If the plug-in project is created in some other way, a <code>build.properties</code> 
file must be added manually. See the PDE Guide for details on the format of <code>
build.properties</code>  files. (<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9765">bug
9765</a>)</font></p>
<h4><font color="#00FF00">ECLIPSE_HOME produces fragile class paths due to
version numbers in plug-in directory paths</font></h4>
<p><font color="#00FF00">Eclipse products are typically built so that plug-ins
are located in the same directory and each plug-in is in the directory whose
name includes both a plug-in id and a version id (e.g., &quot;<code>org.eclipse.ui_2.0.0</code>&quot;).
If external plug-ins are used while self-hosting, these plug-in directory names
show up in PDE-generated class paths. These class path are sensitive to plug-in
version changes and must be recomputed if the target platform uses different
version numbers. (<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15199">bug
15199</a>)</font></p>
<h4><font color="#00FF00">Plug-in import wizard does not allow plug-ins of
different versions to be imported</font></h4>
<p><font color="#00FF00">The Eclipse platform allows two plug-ins with the same
ID but different versions to coexist if the only thing they contribute is
run-time libraries. However, PDE cannot handle these plug-ins because it creates
project names using plug-in IDs during binary project import. (<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18500">bug
18500</a>)</font></p>
<h4><font color="#00FF00">PDE nature required for plug-in manifest syntax
checking</font></h4>
<p><font color="#00FF00">PDE will only be able to provide syntax checking and
error/warning markers for plug-in manifests if the plug-in project has the PDE
plug-in nature. A plug-in project automatically gets this nature when created by
a PDE wizard. This situation can only occur if a regular Java project has been
used to host a plug-in. The problem can be fixed by converting it into a PDE
project. (<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19248">bug
19248</a>)</font></p>
<h4><font color="#00FF00">PDE does not preserve original manifest file layout</font></h4>
<p><font color="#00FF00">When non-Source page of a PDE manifest editor is used,
PDE will convert changes back into XML by regenerating the file. Although the
overall content and the comments are preserved, the actual file layout is not.
This may cause problems by showing false changes during file compare. If file
layout is important, perform all editing in the Source page. Alternatively,
avoid using Source pages altogether. Since XML files are generated in a way that
respects and preserves the relative order of major elements (extensions,
extension points etc.), changes made in a non-Source page of a PDE manifest
editor do not result in false deltas during file compare. (<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19251">bug
19251</a>)</font></p>
<h4><font color="#00FF00">Go To Line in manifest editor causes Outline view to
go blank</font> </h4>
<p><font color="#00FF00">When the <b>Source &gt; Go To Line</b>  command is
invoked in the Source page of a PDE manifest editor, the Outline view will
become gray. Since the Source page does not have a functional outline, there is
no actual loss of function. (<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19361">bug
19361</a>)</font></p>
<h4><font color="#00FF00">New Feature wizard does not generate build.properties
file</font></h4>
<p><font color="#00FF00">When creating a new feature project, the PDE wizard
does not automatically generate a <code>build.properties</code>  file. As a
result, building the feature will create a feature JAR without any content. To
work around this, create a <code>build.properties</code>  manually using the
instructions provided in the PDE Guide. (<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20118">bug
20118</a>)</font></p>
<h4><font color="#00FF00">Update Classpath attaches source from the wrong
Eclipse install</font></h4>
<p><font color="#00FF00">Java libraries are associated with source code
according to source code locations specified in a PDE preference. By default,
these locations are registered by plug-ins of the design-time Eclipse instance.
If the target platform is not the same as the design instance, the source code
provided by these plug-ins will not be in sync with the libraries. The
workaround is to uncheck the default locations and define new source code
locations that point to the source-bearing plug-ins in the target Eclipse
installation. (<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20578">bug
20578</a>)</font></p>
<h4><font color="#00FF00">No way to specify plug-in library type</font></h4>
<p><font color="#00FF00">PDE manifest editors do not provide widgets for
specifying run-time library types as being either &quot;code&quot; or
&quot;resource&quot;. The only way to specify this attribute is to add it
manually in the source page. (<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20757">bug
20757</a>)</font></p>

<h4><font color="#00FF00">Run-time libraries exported through more than 2
plug-ins not in classpath</font></h4>
<p><font color="#00FF00">If a plug-in requires a runtime library exported
through more than two plug-ins, it is not automatically added to the compile
class path when generating the <code>build.xml</code>  file. Example: Plug-in A
export its libraries, plug-in B requires plug-in A and re-exports A, plug-in C
requires plug-in B and re-exports B. If plug-in D requires plug-in C, when
generating the <code>build.xml</code>
 file, plug-in A libraries will not be added to the compile path even though
they will be available at runtime. The problem can be worked around as follows::</font></p>
<blockquote>
  <ol>
    <li><font color="#00FF00">Generate a <code>build.xml</code>  using PDE
      (select the <code>plugin.xml</code>
      file and click <b>Create Plug-in JARs</b>)</font></li>
    <li><font color="#00FF00">Edit the <code>build.properties</code>  and add
      the following line:<code><br>
      custom = true</code></font></li>
    <li><font color="#00FF00">Add the missing JARs to the classpath of the javac
      task in <code>build.xml</code>.</font></li>
  </ol>
</blockquote>
<p><font color="#00FF00">(<a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=20119">bug 20119</a>)</font></p>

<h3>
3.4 <a name="I-Other - FTP and WebDAV support">Other</a></h3>

<h3>
3.4.1 F<a name="I-Other - FTP and WebDAV support">TP and WebDAV support</a></h3>

<h4><font color="#00FF00">When mapped to a target, the project folder is ignored</font></h4>
<p><font color="#00FF00">Ignoring the project folder is by design. Normally with
target management you put/get the contents of the project, not the actual
project. The place you pick in the site explorer is where the project contents
will go. This allows your local project to have a different name than the
container in the WebDAV/FTP server. If you want to map several projects to the
same site location, you create a new folder for each one. This is why &quot;New
Folder&quot; is in the mapping page. (<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17657">bug
17657</a>)</font></p>

<h4><font color="#00FF00">When setting the target site of a project, reselecting
the same location gives misleading warning</font></h4>
<p><font color="#00FF00">Using <b>Deploy &gt; Target Site</b>  on a project that
is already deployed and selecting the same target site produces a scary
overwrite warning. In this case, the warning can be safely ignored. (<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17707">bug
17707</a>)</font></p>
<h4><font color="#00FF00">FTP messages cause an exception</font></h4>
<p><font color="#00FF00">With some servers, the FTP client may receive messages
that it did not anticipate. These will cause an exception. Trying the operation
again usually works. (<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18108">bug 18108</a>)</font></p>
<h4><font color="#00FF00">FTP problems with spaces in resource names</font></h4>
<p><font color="#00FF00">FTP does not work properly when file or folder name
contains spaces. (<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20220">bug
20220</a>)</font></p>
<h4><font color="#00FF00">FTP problems retrieving remote timestamps with NT
server</font></h4>
<p><font color="#00FF00">Problems have occurred with some servers (NT server
Serv-U FTP-Server v2.5k ) when trying to obtain the timestamp of a newly
uploaded file. This causes a &quot;file does not exist&quot; error. The
workaround is to <b> Synchronize</b>  again and continue. (<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19715">bug
19715</a>)</font></p>

<h2>4. <a name="Defects fixed"></a>Defects fixed</h2>

<h3>4.1 Release 2.1 over 2.0</h3>

<p>Release 2.1 improves on release 2.0. The various features and plug-in in this
release
have version id &quot;2.1.0&quot; (the only exceptions are the <code>org.apache.*</code>
and <code>org.eclipse.tomcat</code> plug-ins).</p>

<p>Release 2.1 fixes the following defects present in release 2.0:</p>

<table cellSpacing="0" cellPadding="4" width="100%">
  <tbody>
    <tr align="left">
      <th><a href="http://dev.eclipse.org/bugs/buglist.cgi?resolution=FIXED&amp;email1=&amp;emailtype1=substring&amp;emailassigned_to1=1&amp;email2=&amp;emailtype2=substring&amp;emailreporter2=1&amp;bugidtype=include&amp;bug_id=&amp;changedin=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;target_milestone=2.0.1&amp;short_desc=&amp;short_desc_type=allwordssubstr&amp;long_desc=&amp;long_desc_type=allwordssubstr&amp;keywords=&amp;keywords_type=anywords&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=&amp;namedcmd=2.0.1&amp;newqueryname=2.0.1+fixed&amp;tofooter=1&amp;order=bugs.bug_id">ID</a>
      <th><a href="http://dev.eclipse.org/bugs/buglist.cgi?resolution=FIXED&amp;email1=&amp;emailtype1=substring&amp;emailassigned_to1=1&amp;email2=&amp;emailtype2=substring&amp;emailreporter2=1&amp;bugidtype=include&amp;bug_id=&amp;changedin=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;target_milestone=2.0.1&amp;short_desc=&amp;short_desc_type=allwordssubstr&amp;long_desc=&amp;long_desc_type=allwordssubstr&amp;keywords=&amp;keywords_type=anywords&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=&amp;namedcmd=2.0.1&amp;newqueryname=2.0.1+fixed&amp;tofooter=1&amp;order=bugs.short_desc%2C%20bugs.bug_id">Summary</a></th>
  </tbody>
</table>

<p><i>[TBD]</i></p>

<hr>
<p>Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc.
in the United States, other countries, or both.</p>
<p>IBM is a trademark of International Business Machines Corporation in the
United States, other countries, or both.</p>
<p>Microsoft, Windows, Windows NT, and the Windows logo are trademarks of
Microsoft Corporation in the United States, other countries, or both.</p>
<p>Other company, product, and service names may be trademarks or service marks
of others.</p>
<p>(c) Copyright IBM Corp. and others 2003</p>

</body>
</html>
