| <!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"> |
| <meta name="ProgId" content="FrontPage.Editor.Document"> |
| <title>Eclipse Project Release Notes 2.1.0</title> |
| </head> |
| |
| <body> |
| |
| <h1>Eclipse Project Release Notes</h1> |
| <p>Release 2.1.0<br> |
| March 27, 2003</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 Releases</a><br> |
| <a href="#Known Issues">3. Known Issues</a><br> |
| <a href="#Running Eclipse">4. Running Eclipse</a><br> |
| <a href="#Upgrading">5. Upgrading a Workspace from a Previous Release</a><br> |
| <a href="#Interoperability with Previous Releases">6. Interoperability with Previous Releases</a><br> |
| </p> |
| </blockquote> |
| <h2>1. <a name="Target Operating Environments"></a> Target Operating |
| Environments</h2> |
| <p>Most of the Eclipse SDK is "pure" Java 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<br> |
| Windows</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-2</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-2</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 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%" rowspan="2">Apple Mac OS</td> |
| <td width="18%" rowspan="2">PowerPC</td> |
| <td width="73%">Java 2 Platform, Standard Edition, version 1.3.1 for Mac |
| OS X</td> |
| </tr> |
| <tr> |
| <td width="73%">Java 2 Platform, Standard Edition, version 1.4.1 for Mac |
| OS X</td> |
| </tr> |
| <tr> |
| <td width="21%"><span class="title">QNX |
| Neutrino 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: |
| "Primary" means a full tested configuration; "</span>Secondary" |
| means a configuration which is only lightly tested; "Untested" 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"> |
| <p>Linux on Intel x86</p> |
| <p> </p> |
| </td> |
| <td width="42%" height="25">RedHat Linux 8.0 x86</td> |
| <td width="19%" height="25">Primary</td> |
| </tr> |
| <tr> |
| <td width="42%" height="25">SuSE Linux 8.1 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 </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 8.0 x86 (GTK 2.2 required for DBCS)</td> |
| <td height="15">Primary</td> |
| </tr> |
| <tr> |
| <td width="42%" height="16">SuSE Linux 8.1 x86 (Latin-1 only)</td> |
| <td width="19%" height="16">Primary</td> |
| </tr> |
| <tr> |
| <td width="42%" height="16">Other Linux; GTK 2.0.6 (GTK 2.2 required for |
| DBCS)</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</td> |
| <td width="28%" height="16">IBM J9 VM for QNX</td> |
| <td width="42%" height="16">QNX Neutrino RTOS 6.2.1 </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, and Linux. Note, however, 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 for Windows operating |
| environments.</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 is upwards |
| contract-compatible with Eclipse SDK 2.0 except as noted in the next section. |
| This means that programs in full compliance with contracts specified in Eclipse |
| SDK 2.0 APIs is automatically 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 ensures 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 is upwards |
| binary-compatible with Eclipse SDK 2.0 except as noted in the next section. 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 "greaterOrEqual" or "compatible" (the |
| default); references using "perfect" or "equivalent" 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 is upwards source-compatible |
| with Eclipse SDK 2.0 except as noted in the next section. 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 is upwards |
| workspace-compatible with Eclipse SDK 2.0 except as noted in the next section. |
| 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. |
| This includes both hidden metadata, which is localized to a particular |
| workspace, as well as metadata files found within a workspace project (e.g., the |
| .project file), which may propagate between workspaces via file copying or team |
| repositories. Individual plug-ins developed for Eclipse SDK 2.1 should provide |
| similar upwards compatibility for their hidden and visible workspace metadata |
| created by earlier versions; 2.1 plug-in developers are responsible for ensuring |
| that their plug-ins recognize both 2.1 and 2.0 metadata and process it |
| appropriately. User interface session state may be discarded when a workspace is |
| upgraded. 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. Visible metadata files created (or overwritten) by Eclipse SDK 2.1 |
| will generally be unusable with earlier versions of Eclipse SDK. |
| <p><b>Non-compliant usage of API's</b>: All non-API methods and classes, and |
| certainly everything in a package with "internal" 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 earlier releases. 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>2.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> |
| <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> |
| <h3>Platform - Core</h3> |
| <h4>Linked resources</h4> |
| <p>Eclipse 2.1 allows a project in the workspace to bring together contents from |
| several different directories on disk using what are termed linked folders and |
| files. The presence of linked resources changes a fundamental assumption true |
| for earlier versions of Eclipse, namely, that all of a project's files are |
| located under the project's root directory in the local file system. |
| Furthermore, the target of a linked resource is allowed to overlap that of |
| another linked resource, or overlap the root directory of any project. This new |
| potential for overlap means that several distinct files in the workspace might |
| map to the same file in the local file system. In 2.0, there was no way for |
| overlap to happen (project root directories are not allowed to overlap).</p> |
| <p>These changes have several ramifications at the API:</p> |
| <ul> |
| <li><code>IResource.getLocation</code> can return <code>null</code> in more |
| cases than before.</li> |
| <li><code>IWorkspaceRoot.getContainerForLocation</code> and <code>getFileForLocation</code> |
| are no longer sufficient to map from file system path to workspace path in |
| the presence of linked resources, as these calls do not account for linked |
| files or files under linked folders. Two new methods were added to handle |
| the possibility of overlap: <code>IWorkspaceRoot.findContainersForLocation</code> |
| and <code>findFilesForLocation</code>.</li> |
| </ul> |
| <p>Since linked resources and their children appear in the workspace as normal |
| files and folders, client code that works exclusively with the workspace |
| resource tree is not affected. The clients most likely to be impacted are ones |
| that assume that all of a project's files are located together in the local file |
| system under the project's root directory. For example, an export utility that |
| works directly on the local file system might miss some of a project's files if |
| it only looks within the project's root directory.</p> |
| <p>This change was made to give certain kinds of users greater flexibility in |
| laying out their projects on disk. The behavior of existing plug-ins is |
| unchanged from 2.0 for projects that do not use linked resources. Depending on |
| the assumptions made, existing plug-ins might misbehave or fail for projects |
| containing linked resources. A plug-in can prohibit linked resources for a |
| project via a project nature (<code>IProjectNatureDescriptor.isLinkingAllowed()</code>), |
| but this should only be done where there is a good reason to deny the user this |
| additional flexibility in laying out a project. Users can disable linked resources |
| via the <b>Workbench > Linked |
| Resources</b> preference page. (bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6664">6664</a>)</p> |
| <h4>Project build order</h4> |
| <p>The default order in which projects get built was changed in Eclipse 2.1 to |
| improve the handling of mutually-dependent projects. The old method <code>IWorkspace.computePrerequisiteOrder</code> |
| was deprecated and replaced by <code>IWorkspace.computeProjectOrder</code>. |
| Since there are few potential clients of either method beyond the Eclipse |
| Platform itself, it's unlikely that clients will be affected. (bugs <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10262">10262</a>, |
| <a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=25952">25952</a>)</p> |
| <h3>Platform - UI</h3> |
| <h4>Restructuring of UI plug-ins</h4> |
| <p>In Eclipse 2.1, the API and code for the <code>org.eclipse.ui</code> plug-in |
| was partitioned and parceled out to several new plug-ins (<code>org.eclipse.jface</code>, |
| <code>org.eclipse.text</code>, and <code>org.eclipse.ui.workbench</code>, etc.). |
| Although this looks on the surface to be a breaking change, it is not. These new |
| plug-ins are internal and should not be referenced explicitly. As they always |
| have, plug-ins requiring the Eclipse Platform UI (API found in the <code>org.eclipse.swt.*</code>, |
| <code>org.eclipse.jface.*</code>, and <code>org.eclipse.ui.*</code> packages) |
| should continue to state a dependency on the <code>org.eclipse.ui</code> |
| plug-in.</p> |
| <h3>Platform - Help</h3> |
| <h4>Pluggable app server</h4> |
| <p>Eclipse 2.0 provided interim support for pluggable app servers via an |
| undocumented <code>org.eclipse.help.app-server</code> extension point, with |
| interim APIs in the <code>org.eclipse.help</code> package. For 2.1, this support |
| has been made internal, along with the former interim API classes. Because this |
| support was marked as interim for 2.0, this is not considered a breaking API change. |
| Nevertheless, existing clients using the interim support will be broken. Even |
| though the mechanism is not officially supported, clients that are adamant about |
| plugging in a different app server can do so (with all the usual risks of |
| depending on unsupported Eclipse internals).</p> |
| <h4>Pluggable web browser</h4> |
| <p>Eclipse 2.0 provided interim support for pluggable web browsers via the <code>org.eclipse.help.ui.browser</code> |
| extension point, with API in the <code>org.eclipse.help.ui.browser</code> |
| package. For 2.1, this support appears in finished form in different location: |
| the <code>org.eclipse.help.browser</code> extension point, with API in the <code>org.eclipse.help.browser</code> |
| package. Because this support was marked as interim for 2.0, this is not |
| considered a breaking API change. Nevertheless, existing clients using the interim support will |
| need to update the extension point and package names.</p> |
| <h3>Platform - Team</h3> |
| <b> |
| <p>Validate edit/save</p> |
| </b> |
| <p>There are some new restrictions that repository providers should be aware of |
| when implementing <code>validateSave/Edit</code>. The first is that the hook can |
| be invoked from a non-UI thread. The provider should use <code>Display.syncExec()</code> |
| if they are affecting any UI components. Also, the hook should not display a |
| progress monitor because there is a good possibility that there already is one |
| open for the operation being performed; opening another will cause deadlock. |
| (bug <a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=33471">33471</a>)</p> |
| <b> |
| <p>Linked resources</p> |
| </b> |
| <p>The new support for linked folders and files added in Eclipse 2.1 impacts |
| repository providers because it changes some of the rules about relationships |
| between files in the workspace and their corresponding locations in the local |
| file system. All existing repository providers should be updated to handle |
| linked resources, as described in the 2.1 Team API. If |
| a project is shared via an older 2.0 repository provider, the user will be |
| prohibited from creating linked resources in that project. (bug |
| <a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=26469">26469</a>)</p> |
| <h3>Platform - SWT</h3> |
| <h4>Character field in key event</h4> |
| <p>The specification of the <code>Event.character</code> field now makes it |
| clear that the character reflects the outcome after any modifier keys are taken |
| into account (for example, CTRL+A is reduced to the ASCII equivalent character |
| with integer value 1). Since the treatment of modifier keys was completely |
| unspecified before, this change affects clients that make assumptions about how |
| modifiers are handled. (bug <a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=33592">33592</a>)</p> |
| <h4>New key modifier: command</h4> |
| <p>In order to properly support the Mac for Eclipse 2.1, a new <code>SWT.COMMAND |
| </code>key modifier constant was added to represent the Apple command key. On |
| the Mac, the command key plays the same role as the control key plays elsewhere, |
| whereas the control key is used mainly as an additional mouse click modifier. |
| Clients that merely want to check for the appropriate primary modifier for the |
| OS should instead use the new bit mask <code>SWT.MOD1</code> in favor of either <code>SWT.CONTROL</code> |
| or <code>SWT.COMMAND</code>. The advent of the Mac port of Eclipse affects |
| existing clients that explicitly check for the <code>SWT.CONTROL</code> |
| modifier. In most cases, they should instead check for <code>SWT.MOD1</code> so |
| that they work appropriately on both Macs and non-Macs. (bug <a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=24393">24393</a>)</p> |
| <h4>OLE variant type exceptions</h4> |
| <p>An <code>SWTError</code> exception is now thrown when a Java type is |
| requested from an empty variant type (<code>VT_EMPTY</code>). Since existing |
| clients should already be handling <code>SWTError</code> exceptions as per the |
| spec for <code>Variant.getInt()</code>, etc., this change should not affect |
| existing clients. (bug <a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=24402">24402</a>)</p> |
| <h4>Multiple drag and drop adapters</h4> |
| <p>An <code>SWTError</code> exception is now thrown if you create a second <code>DragSource</code> |
| (or <code>DropTarget</code>) for a widget. Across various window systems, the |
| results of creating multiple drag source or drop target objects were at best |
| indeterminate. The exception makes it clear that this is not supported. Since |
| existing clients should already be handling <code>SWTError</code> exceptions as |
| per the spec for the <code>DragSource</code> and <code>DropTarget</code> |
| constructors, this change should not impact existing clients. (bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=35214">35214</a>)</p> |
| <h3>Platform - Install/Update</h3> |
| <p>None.</p> |
| <h3>Platform - Ant</h3> |
| <p>None.</p> |
| <h3>Platform - Debug</h3> |
| <p>None.</p> |
| <h3>Platform - Search</h3> |
| <h4>Inexact matching</h4> |
| <p>There is a new preference setting that controls whether the search engine |
| should report inexact matches. The user can set this via the <b>Workbench > |
| Search </b>preference page. The new API method <code>SearchUI.arePotentialMatchesIgnored</code> |
| should be used to query the preference setting. Existing clients that contribute |
| a particular search engine (or search page) should consider whether the notion |
| of an inexact match is meaningful in their particular context, and honor this |
| preference if it is. (bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20663">20663</a>)</p> |
| <h3>Platform - Text</h3> |
| <h4>File encoding preserved</h4> |
| <p><code>FileDocumentProvider</code> now saves a file in the encoding it has |
| been read rather than in the workbench's default encoding.</p> |
| <h4>Key binding scopes</h4> |
| <p>Clients should be aware of key binding scopes, which were introduced in 2.1. <code>TextEditor</code> |
| sets "org.eclipse.ui.textEditorScope" as its key binding scope. |
| Subclasses inherit this setting if they do not override "initializeKeybindingScopes". |
| <code>AbstractTextEditor</code> does not set any key binding scopes; it leaves |
| this to its subclasses.</p> |
| <h4>Action definition ids are mandatory</h4> |
| <p>All actions registered with an instance of <code>AbstractTextEditor</code> |
| should have an action definition id. Otherwise they will not be accessible via |
| accelerators.</p> |
| <h4>Deprecated API</h4> |
| <p>The following class, methods, and constants have been deprecated. The Javadoc |
| indicates what should be used instead.</p> |
| <ul> |
| <li>Package <code>org.eclipse.ui.texteditor</code> |
| <ul> |
| <li>Field <code>AbstractTextEditor.PREFERENCE_FONT</code> |
| </li> |
| </ul> |
| </li> |
| <li>Package <code>org.eclipse.jface.text.source</code> |
| <ul> |
| <li>Constructor <code>AnnotationBarHoverManager(ISourceViewer, |
| IVerticalRuler, IAnnotationHover, IInformationControlCreator)</code> |
| </li> |
| </ul> |
| </li> |
| <li>Package <code>org.eclipse.jface.text.rules</code> |
| <ul> |
| <li>Constructor <code>DefaultDamagerRepairer(ITokenScanner, |
| TextAttribute)</code> |
| </li> |
| </ul> |
| </li> |
| <li>Package <code>org.eclipse.jface.text.information</code> |
| <ul> |
| <li>Method <code>IInformationProvider.getInformation(ITextViewer, IRegion)</code> |
| </li> |
| </ul> |
| </li> |
| <li>Package <code>org.eclipse.ui.texteditor</code> |
| <ul> |
| <li>Constructor <code>IncrementalFindAction(ResourceBundle, String, |
| IWorkbenchWindow, <b>boolean</b>)</code> |
| </li> |
| <li>Constructor <code>MarkerRulerAction(ResourceBundle, String, |
| IVerticalRuler, ITextEditor, String, <b>boolean</b>)</code> |
| </li> |
| <li>Method <code>MarkerRulerAction.getVerticalRuler()</code> |
| </li> |
| <li>Constructor <code>SelectMarkerRulerAction(ResourceBundle, String, |
| IVerticalRuler, ITextEditor)</code> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| <h3>Platform - Compare</h3> |
| <p>None.</p> |
| <h3>JDT - Core</h3> |
| <h4>Multiple output folders</h4> |
| <p>In Eclipse 2.0, all generated class files (and copied resource files) for a |
| Java project get written to the project's single output folder. As of 2.1, the |
| generated class files (and copied resource files) can be partitioned across |
| several output folders, with each source build path entry specifying which |
| output folder its generated files get written to. This change was made to give |
| certain kinds of users greater flexibility in laying out their Java projects on |
| disk. Clients used to be able to assume that a Java project's output files were |
| in the project's output folder (<code>IProject.getOutputLocation()</code>); now |
| they need to take into account the possibility of other output locations (<code>IClasspathEntry.getOutputLocation()!=null</code>). Existing code appears to work fine until the user exercises the |
| additional flexibility. This change is most likely to affect client code that |
| deploys code directly from the project's output folder (e.g., creates a JAR; |
| launches a Java VM with the output folder on the runtime class path). (bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=24123">24123</a>)</p> |
| <h4>Source folder exclusion patterns</h4> |
| <p>In Eclipse 2.0, all Java source files under a source folder on a project's |
| build class path were compiled and included in the Java model. The notion of |
| exclusion patterns were added in 2.1 to give certain kinds of users greater |
| flexibility in laying out their Java projects on disk Exclusion patterns |
| associated with a source entry on the build class path (<code>IClasspathEntry.getExclusionPatterns()</code>) |
| cause matching files or subdirectories to be ignored for the purposes of |
| compilation and inclusion in the Java model. Most existing clients traverse the |
| Java model and will continue to work fine. However, clients that directly |
| traverse the corresponding source folder in the local file system need to take |
| into account the possibility that some of the files found there may have been |
| excluded with this new mechanism. (bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=22039">22039</a>)</p> |
| <h4>Code formatter positions</h4> |
| <p>The specification for <code>ICodeFormatter.format</code> was changed to |
| specify that the positions array passed in must be in non-decreasing order. The |
| implementation had always been making this assumption, and there would have been |
| serious performance consequences to specify the method as working with unordered |
| positions. Existing clients are unlikely to be affected. (bug <a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=30417">30417</a>)</p> |
| <h4>Leading comments on AST Statement nodes</h4> |
| <p><code>Statement.getLeadingComment</code> and <code>setLeadingComment</code> |
| have been deprecated because they were not a particularly good way to deal with |
| the general issue of comments and significant whitespace. Since the |
| implementations of <code>AST.parseCompilationUnit</code> never set the leading |
| comment for any AST nodes they create, the change is moot for most clients. (bug |
| <a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=29176">29176</a>)</p> |
| <h4>Empty array passed to Java model operation</h4> |
| <p>In Eclipse 2.0, certain Java model API operations (<code>IJavaModel.delete</code>, |
| <code>copy</code>, <code>move</code>, and <code>rename</code>) threw an <code>ArrayIndexOutOfBoundsException</code> |
| if passed an empty array. The behavior in this case was completely unspecified. |
| For 2.1, the specification and implementation of these operations have been |
| changed to throw <code>JavaModelException</code> in such cases. Clients need to |
| be aware that the empty array case does indeed trigger an exception. (bug <a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=32219">32219</a>)</p> |
| <h4>Non-Java projects included in Java model </h4> |
| <p>In Eclipse 2.0, non-Java projects and closed projects were excluded from the |
| Java model. In 2.1, non-Java projects and closed projects are available from the |
| Java model via <code>IJavaModel.getNonJavaResources</code>. Their inclusion in |
| the Java model means that they appear in Java model deltas, under <code>IJavaElementDelta.getResourceDeltas</code>. |
| This change may affect clients that listen for Java element deltas (via <code>JavaCore.addElementChangedListener</code>) |
| if they make overly strong assumptions about triggering conditions and contents. |
| (bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29274">29274</a>)</p> |
| <h4>Java element changed events for full working copy lifecycle</h4> |
| <p>In Eclipse 2.0, Java element changed events were reported for changes to |
| shared working copies, but not when they were created or destroyed. In 2.1, Java |
| element changed events are uniformly issued for the full lifecycle of working |
| copies and apply equally to non-shared as well as shared working copies. This |
| change may affect clients that listen for Java element deltas (via <code>JavaCore.addElementChangedListener</code>) |
| if they make overly strong assumptions about triggering conditions and contents. |
| (bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32981">32981</a>)</p> |
| <h4>IJavaProject.isOnClasspath</h4> |
| <p>For Eclipse 2.1, the API predicate <code>IJavaProject.isOnClasspath</code> |
| (both forms) was changed to do the more standard thing of returning false rather |
| than throwing <code>JavaModelException</code> in some cases. While this change |
| is within the original spirit of the original API contract, it breaks |
| source compatibility because <code>JavaModelException</code> is a checked |
| exception; code that invokes this method and catches <code>JavaModelException</code> |
| may need to be rewritten. (bug <a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=33754">33754</a>)</p> |
| <h3>JDT - UI</h3> |
| <p>None.</p> |
| <h3>PDE</h3> |
| <p>None.</p> |
| |
| |
| <h2>3. <a name="Known Issues"></a> Known Issues</h2> |
| <blockquote> |
| <p><a href="#I-Platform">3.1 Platform</a><br> |
| <a href="#I-Platform - Core">3.1.1 Core</a><br> |
| <a href="#I-Platform - Ant">3.1.2 Ant</a><br> |
| <a href="#I-Platform - Help">3.1.3 Help</a><br> |
| <a href="#I-Platform - UI">3.1.4 UI</a><br> |
| <a href="#I-Platform - Text">3.1.5 Text</a><br> |
| <a href="#I-Platform - SWT">3.1.6 SWT</a><br> |
| <a href="#I-Platform - Team - CVS">3.1.7 Team</a><br> |
| <a href="#I-Platform - Install/Update">3.1.8 |
| Install/Update<br> |
| </a> <a href="#I-Platform - Debug">3.1.9 Debug<br> |
| </a> <a href="#I-Java Development Tools (JDT)">3.1.10 Compare<br> |
| 3.2 Java Development Tools (JDT)<br> |
| 3.3 Plug-in Development Environment (PDE)</a><br> |
| <a href="#I-Other - FTP and WebDAV support">3.4 Other<br> |
| </a> <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> |
| <h3>3.1 <a name="I-Platform">Platform</a></h3> |
| <h4>DBCS support on Linux GTK (Linux GTK only)</h4> |
| <p>The versions of GTK included with RedHat Linux 8.0 and SuSE Linux 8.1 that we |
| tested support Latin-1 locales but not DCBS. The DCBS support in GTK 2.2 should |
| be sufficient, and in principle Eclipse should work on any recent Linux with GTK |
| 2.2. We have verified that Eclipse DBCS support works with RedHat Linux 8.0 and |
| GTK 2.2. However, we were unable to get Eclipse working with SuSE Linux 8.1 and |
| and GTK 2.2, so this remains an open issue.</p> |
| <h4>Eclipse process does not exit (HP-UX only)</h4> |
| <p>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:</p> |
| <blockquote> |
| <p><code>eclipse -vmargs -XdoCloseWithReadPending</code></p> |
| </blockquote> |
| <p>(bug <a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=18321">18321</a>)</p> |
| <h3>3.1.1 <a name="I-Platform - Core">Platform - Core</a></h3> |
| <h4>Declaring package name prefixes improves plug-in class loading speed</h4> |
| <p>A significant (10-15%) speed increase in the time to load a plug-in's classes |
| can be obtained simply by declaring the package name prefixes found in that |
| plug-in's runtime library JARs. This is done in the new Package Prefixes section |
| of the Runtime page in the PDE plug-in manifest editor. (Further information <a href="http://dev.eclipse.org/viewcvs/index.cgi/~checkout~/platform-core-home/docs/package-prefixes/prefixes.html">here</a>.)</p> |
| <h4><b>Invalid characters in install directory prevents Eclipse from starting</b></h4> |
| <p>Eclipse will fail to launch if installed in a directory whose path contains |
| certain invalid characters, including :%#<>"!. The workaround is to |
| install Eclipse in a directory whose path does not contain invalid characters. |
| (bugs <a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3109">3109</a> and <a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=17281">17281</a>)</p> |
| <h4><b>Problems with classloaders in created threads</b></h4> |
| <p>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:</p> |
| <ol> |
| <li>Create a thread in which to run your code.</li> |
| <li>Send yourThread.setContextClassLoader(yourClassLoader); // you can find |
| your classloader by grabbing a class it loaded (YourPluginClass.class.getClassLoader())</li> |
| <li>Run your code in the newly created thread.</li> |
| </ol> |
| <p>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. However, there should be no problem in practice provided you |
| reset the context class loader back to its original value when your use in the |
| current thread is complete. (bug <a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=8907">8907</a>)</p> |
| <h4>Deadlock creating executable extension in Plugin.startup</h4> |
| <p>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. (bugs <a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=12827">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>)</p> |
| <h3>3.1.2 <a name="I-Platform - Ant">Platform - Ant</a></h3> |
| <h4>Xerces JARs no longer required on runtime Ant classpath</h4> |
| <p>Explicitly adding the Xerces JARs to the runtime Ant classpath is no longer |
| required and can cause problems. The Xerces classes are loaded from the <code>org.apache.xerces</code> |
| plug-in provided with Eclipse. For most Ant |
| distributions, the Xerces JARs cannot even be in the same physical location as |
| the <code>ant.jar</code> and <code>optional.jar</code>. This results from the |
| Ant JARs containing manifest files which contain classpath entries pointing to |
| the Xerces JARs. (bugs <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33664">33664</a>, |
| <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33117">33117</a>, <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=34151">34151</a>)</p> |
| <h4>Custom Ant tasks and Ant types must be separate from plug-in library JARs</h4> |
| <p>Including the class files for custom Ant tasks or Ant types in the regular |
| code JAR for your plug-in causes problems. These class files must be provided in |
| a separate JAR that is contributed to the <code>org.eclipse.ant.core.antTasks</code> |
| or <code>antTypes</code> extension point (and not declared as a library in the |
| plug-in's manifest). This ensures that the Ant tasks and types are loaded by the |
| special Ant class loader and not by a plug-in classloader. (bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=34466">34466</a>).</p> |
| <h4>Concurrent Ant builds not supported</h4> |
| <p>Eclipse runs Ant in the same JVM as the rest of Eclipse. Several aspects of |
| Ant and its use of global Java resources (such as System.out and System.err), |
| make it unsafe to run more than one Ant build concurrently. (bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=24129">24129</a>).</p> |
| <h4>Running certain Ant tasks cause memory leakage</h4> |
| <p>Certain Ant tasks are known to leak memory. Please see the bug report for |
| details, patches, and possible workarounds. (bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=24448">24448</a>)</p> |
| <h4>Tasks that require input lock up workspace</h4> |
| <p>As with using Ant from the command line, prompts for input from the console |
| is not handled. This is not the same as making use of the <input> task, |
| which works correctly within Eclipse. (bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=21748">21748</a>)</p> |
| <h4>Ant Editor code completion based on Ant 1.5</h4> |
| <p>Code completion provided by the Ant editor does not respect the |
| user-specified version of <code>org.eclipse.ant.core</code> plug-in or ANT_HOME. |
| Code completion proposals are always based on Ant 1.5. (bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30886">30886</a>).</p> |
| <h3>3.1.3 <a name="I-Platform - Help">Platform - Help</a></h3> |
| <h4>Help documents not displayed in a browser or very slow |
| document loading (Windows only)</h4> |
| 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. |
| <blockquote> |
| <ol> |
| <li>In the Control Panel, open <b>Internet Options</b>, |
| select the <b>Connections</b> tab and choose <b>LAN Settings</b>.</li> |
| <li>If your host was configured to use DHCP for IP |
| assignment, make sure that the "Automatically detect settings" |
| check box is cleared.</li> |
| <li>If you use a proxy server, ensure that the |
| "Bypass proxy server for local addresses" is selected.</li> |
| <li>In "Advanced" settings for proxies, add |
| "127.0.0.1;localhost" to the "Exceptions" if these |
| addresses are not listed.</li> |
| <li>If you are using an automatic configuration script |
| for proxy settings, and are not sure that the script is correct, clear the |
| "Use automatic configuration script" check box.</li> |
| </ol> |
| </blockquote> |
| <p>If the above steps do not fix your problem, try |
| changing the port and host properties on the <b>Help > Help Server</b> |
| preference page. In general, setting <code>host</code> to <code>localhost</code> |
| or <code>127.0.0.1</code> should work. Also, especially when running a firewall, |
| you may want to specify port 80 or some other firewall-friendly value. (bugs <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7036">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>)</p> |
| <h4>Working disconnected from the network (Windows only)</h4> |
| If you are experiencing problems when not connected to the |
| network, you must install the loopback adapter from the Windows installation CD. |
| (bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=831">831</a>) |
| <h4>Using Internet Explorer in offline mode (Windows only)</h4> |
| 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 or a blank page will display. Click <b>Connect</b> |
| or deselect "Work Offline" in the Internet Explorer "File" |
| menu to return the system behavior to normal. |
| <h4>Using the custom browsers (Unix and Linux only)</h4> |
| <p>On Unix and Linux, when using the Custom Browser setting on the Help |
| preference page, ensure that the program you select is not enclosed by double |
| quotes ("), and that the program path does not contain spaces. (bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=35673">35673</a>)</p> |
| <h3>3.1.4 <a name="I-Platform - UI">Platform - UI</a></h3> |
| <h4>Minimum display resolution</h4> |
| <p>A number of dialogs in Eclipse, such as the Preferences |
| dialog, require a minimum display resolution of at least 1024 x 768.</p> |
| <h4>Manual refresh required when files modified outside |
| Eclipse</h4> |
| <p>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.</p> |
| <h4>Default text file encoding may be detected incorrectly |
| (Windows XP/2000 only)</h4> |
| <p>The "Text file encoding" value displayed in |
| the Preferences dialog under "Editors" may be wrong on platforms |
| running Windows XP (or 2000) when the user locale and system locale |
| differ. </p> |
| <p>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 "Text file |
| encoding" value displayed by Eclipse is incorrect: "Cp1252" |
| (English). It should display the system locale "MS932" (Japanese).</p> |
| <p>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 |
| "Text file encoding" value will then be correct: "MS932" |
| (Japanese).</p> |
| <p>For Windows XP:</p> |
| <ul> |
| <li>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 "Language for non-Unicode programs".</li> |
| <li>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 "Standards and formats".</li> |
| </ul> |
| <p>For Windows 2000:</p> |
| <ul> |
| <li>To check the system locale: Open the Control Panel. |
| Go to Regional Options. Look up the items in the General tab, inside the |
| "Language settings for the system" group. The system locale is the |
| item marked as (Default).</li> |
| <li>To change the user locale: Open the Control Panel. |
| Go to Regional Options. The user locale can be modified by changing the |
| location in "Settings for the current user".</li> |
| </ul> |
| <p>(bug <a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=20641">20641</a>)</p> |
| <h4>External Tools will automatically quote path variables containing spaces</h4> |
| <p>When an external tool is launched, expanded path variables that contain |
| spaces will be enclosed in double quotes ( " ). 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. (bug <a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=20599">20599</a>)</p> |
| <h4>KDE takes Ctrl+Fn keys</h4> |
| <p>When using the KDE desktop on Linux systems, the Ctrl+Fn key sequences are |
| used for switching between virtual desktops. This means that Eclipse commands |
| bound to these key sequences do not get activated, including Ctrl+F1 (Help), |
| Ctrl+F4 (File > Close) and Ctrl+F6 (Next Editor).</p> |
| <p>These keys can be reassigned in KDE using the Control Center. Choose Look |
| & Feel > Shortcuts > Shortcut Sequences > Shortcut Sequences > |
| System > Desktop Switching, and set all items to None or to a different key |
| sequence such as Ctrl+Alt+Fn. The other alternative is to assign different key |
| sequences in Eclipse using the <b>Workbench > Keys</b> preference page. (bug <a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=26361">26361</a>)</p> |
| <h4>JAWS screen reader does not read Eclipse dialog boxes properly</h4> |
| <p>There is a known problem with the JAWS screen reader (up to version 4.5) |
| whereby its "Read Box in Tab Order" command (Ins+B) does not read all |
| controls in Eclipse dialogs. (bug <a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=13895">13895</a>)</p> |
| <h4>Unable to open a fast view if no editors are open (Solaris Motif only)</h4> |
| <p>On Solaris Motif, attempting to open a fast view when no editors are open |
| will result in a NullPointerException and can cause some painting problems. |
| (bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=35244">35244</a>).</p> |
| <h4>Dirty state not tracked properly for OLE documents |
| (Windows only)</h4> |
| <p>The dirty state for an OLE document is not updated |
| properly. This causes Eclipse to prompt to save the contents of the editor when the document is |
| closed, even if the contents have already been saved. (bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=2564">2564</a>)</p> |
| <h4>OLE document crashes can cause Eclipse to also crash |
| (Windows only)</h4> |
| <p>If an OLE document crashes, Eclipse can crash, or the workbench menus can become inconsistent.</p> |
| <h3>3.1.5 <a name="I-Platform - Text">Platform - Text</a></h3> |
| <h4>Overwrite mode cannot be disabled for AbstractTextEditor and subclasses</h4> |
| <p>When removing the key binding for the "Toggle Overwrite Mode" command on the <b>Workbench |
| > Keys</b> preference page, the mode is still toggled when pressing the "Insert" key. The mode indication in the editor's status line is then out of sync with the actual mode. |
| (bug <a href="(http:/bugs.eclipse.org/bugs/show_bug.cgi?id=35248)">35248</a>)</p> |
| <h3>3.1.6 <a name="I-Platform - SWT">Platform - SWT</a></h3> |
| <h4>Printing and drag and drop not available on Mac (Mac OS X Carbon only)</h4> |
| <p>The Mac OS X Carbon implementation of SWT does not yet support printing or |
| drag and drop. (bugs <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33637">33637</a>, |
| <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30104">30104</a>)</p> |
| <h4>Unable to drag data between applications in simplified Chinese locale (Motif |
| only)</h4> |
| <p>When configured for the simplified Chinese locale, it is not possible to drag |
| data between applications running on the Motif window system. This is a known |
| limitation of the Open Motif library. (bug <a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=29777">29777</a>)</p> |
| <h4>Hang opening font or color dialogs (Mac OS X Carbon only)</h4> |
| <p>When running with J2SE 1.4.1 for Mac OS X, opening a font or color dialog can |
| hang Eclipse. This is a bug in Apple's J2SE 1.4.1 involving Cocoa-based dialogs. |
| Note that J2SE 1.3.1 for Mac OS X does not have this problem. (bug <a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=30021">30021</a>)</p> |
| <h4>Crash when attempting to launch file browser (AIX Motif only)</h4> |
| <p>There is a known AIX graphics bug affecting certain levels of AIX releases. |
| Ensure that the AIX install includes the necessary service updates as |
| described in the "Install notes/requirements for Eclipse on AIX" attachment to the Eclipse bug report. (bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=34524">34524</a>)</p> |
| <h4>Available colors on 8-bit Linux (Linux only)</h4> |
| <p>Typically, in Gnome Linux installs running with 8-bit visuals (i.e. 256 color |
| mode), before the Eclipse application is started there are no |
| 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.</p> |
| <h4>List and ComboBox on Windows NT (Windows NT only)</h4> |
| <p>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.</p> |
| <h4>Excessive CPU consumption (Linux GTK only)</h4> |
| <p>When using Linux GTK 2.2.1, there are some scenarios where the CPU usage goes |
| to 100% for no good reason. When this occurs, resizing or closing the dialog |
| seems to return the CPU usage to normal. (bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=35443">35443</a>)</p> |
| <h4> |
| IME-related crash (Linux Motif only) |
| </h4> |
| <p>When using Linux Motif and GB18030 IME "chinput", Eclipse can crash if |
| the IME client window is left open when the parent window is disposed. (bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32045">32045</a>)</p> |
| <h4>Problems with Japanese IME (Linux Motif only)</h4> |
| <p>On Linux Motif, the Japanese IME Wnn7 Personal is not working properly with |
| Eclipse: the pre-edit text does not appear in the text widget, making it |
| unusable. The IME that we tested - Kinput2 on the client + Canna on the server |
| side (default IME in RedHat 8.0) - works fine. (bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31754">31754</a>)</p> |
| <h4>BiDi support</h4> |
| <p>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.</p> |
| <h4>Cursor constructor arguments</h4> |
| <p>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 "mask" argument should be the source image |
| and the "source" argument should be the mask image. (bug <a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=4809">4809</a>)</p> |
| <h4>Using IBM J9 VM (Photon and AIX)</h4> |
| <p>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.</p> |
| <h4>Missing permissions for SWT native libraries in workspace (HP-UX only)</h4> |
| <p>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>):</p> |
| <blockquote> |
| <blockquote> |
| <p><code>cd /workspace/org.eclipse.swt.motif/os/hpux/PA_RISC<br> |
| chmod 555 *.sl</code></p> |
| </blockquote> |
| </blockquote> |
| <p>(bug <a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=20305">20305</a> |
| describes a related problem)</p> |
| <h4>JAWS requires MSAA for List Views to read checkboxes in Tables (Windows |
| only)</h4> |
| <p>In order for JAWS to detect the checkbox information in Tables, MSAA support |
| for List Views must be activated as follows:</p> |
| <blockquote> |
| <ol> |
| <li>Open Eclipse and hit INSERT + F2.</li> |
| <li>In the Run JAWS Manager dialog select Configuration Manager.</li> |
| <li>In the Jaws Configuration Manager that opens up, select Set Options and |
| then select Advanced Options.</li> |
| <li>Check "Rely on MSAA for List views".</li> |
| <li>Hit the OK button.</li> |
| <li>Choose <b>File > Save</b> from the menu bar.</li> |
| </ol> |
| </blockquote> |
| <h3>3.1.7 <a name="I-Platform - Team - CVS">Platform - Team - CVS</a></h3> |
| <p>The following are known problems with the CVS repository provider only, and |
| do not apply to other repository providers. 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>Cached authorization information lost when workspace is upgraded</h4> |
| <p>The Platform's internal authorization database file format has changed for |
| 2.1. Because of this, authorization information cached with a workspace created |
| with an earlier version of Eclipse will be unusable, and the user will need to |
| reauthenticate. (bug <a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=32899">32899</a>)</p> |
| <h4>"extssh" is not a supported command line method</h4> |
| <p>Since the "extssh" 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 "ext" method and set the |
| appropriate environment variables so that the command line tool will work. (bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7943">7943</a>)</p> |
| <h4>Connection cannot be found after initially missing</h4> |
| <p>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. (bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9295">9295</a>)</p> |
| <h4>CVS meta-folders appear in some cases</h4> |
| <p>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. (bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=21128">21128</a>)</p> |
| <h4>"Received broken pipe signal" error from server</h4> |
| <p>Eclipse sometimes 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. (bugs <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=23575">23575</a> |
| and <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=23581">23581</a>)</p> |
| <h4>"Terminated with fatal signal 10" error from server</h4> |
| <p>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. (bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15724">15724</a>)</p> |
| <h4>"Unknown response" error using ext connection method</h4> |
| <p>There are a few situations that can result in an "Unknown response" |
| error messages when using the ext connection method. One situation involves |
| using an external communications client (e.g. rsh or ssh) that adds CRs to the |
| communications channel (bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=21180">21180</a>). |
| Another involves Eclipse not properly reading the stderr output of the external |
| communications tool (bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11633">11633</a>).</p> |
| <h4>No way to update folder excluding subfolders</h4> |
| <p>There is currently no way in Eclipse to run a non-recursive update on a |
| folder (i.e., there is nothing equivalent to the cvs -l option). (bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33210">33210</a>).</p> |
| <h3>3.1.8 <a name="I-Platform - Install/Update">Platform - Install/Update</a></h3> |
| <h4>Update manager claims that a cycle has been detected in a multiple path case</h4> |
| <p>When a feature includes other features, it is an error to have multiple paths |
| from the parent to any of its children (there must be exactly one path from the |
| root to any of the included features). Update manager reports the error but is |
| not capable of differentiating cycles (when a child includes a parent) and |
| multiple paths. Consequently, it will claim that there is a cycle in both cases. |
| (bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=26808">26808</a>)</p> |
| <h4>Bundled e-fixes that patch the same feature can clash</h4> |
| <p>When patches (e-fixes) are created by bundling (including) several patches, |
| care must be taken that they do not carry different versions of the same |
| feature. If they do, both features may end up disabled. (bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31407">31407</a>)</p> |
| <h4>Update manager does not support https protocol</h4> |
| <p>Update manager currently cannot open connections to the remote update sites |
| if the provided URL has <b>https </b>protocol. (bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31979">31979</a>)</p> |
| <h4>Internal Error in Update Manager while installing/updating when features |
| include the same plug-in</h4> |
| <p>If two or more features in the feature tree formed by inclusion have the same |
| plug-in entry, install or update will fail. This happens because update manager |
| attempts to install the same plug-in more than once and fails to rename files |
| since they already exist. To work around this problem, ensure that no two |
| features in the single feature hierarchy (starting from the root feature) |
| reference the same plug-in (have a plug-in entry with the same id and version). |
| (bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33937">33937</a>)</p> |
| <h4>Non-responsive sites may use all free threads</h4> |
| <p>Prior to Eclipse 2.1, if the connection to an |
| update site did not respond (the site did not exist or was down), the workbench |
| became non-responsive until the connection request timed out. In 2.1, |
| connections are made by a separate thread so that the UI stays responsive. |
| Typically, unresponsive connections eventually time out and these threads |
| terminate. In rare cases, servers accept the connection but never send a |
| response, thereby keeping the connection thread live indefinitely. Update |
| manager limits the number of active connection threads and will refuse to create |
| more once the limit is reached. To work around the problem, exit and restart |
| Eclipse. (bugs <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18598">18598</a>, |
| <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19775">19775</a>)</p> |
| <h4>URL validity checking on input</h4> |
| <p>URL syntax is currently not completely checked on input. Ensure that the entered |
| URL uses forward slash ('/') separators and does not |
| contain invalid characters. (bugs <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19685">19685</a>, |
| <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20247">20247</a>) |
| <h4>Running "headless" applications that do not handle restart</h4> |
| <p>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. |
| <h4>Link file entry with trailing blanks is invalid</h4> |
| <p>If a link file used to connect product extensions with products contains an |
| entry with trailing blank characters, it will be considered invalid. The |
| workaround is to ensure that the entry ends with an end-of-line character (bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=22993">22993</a>). |
| <h4>Enabling two versions of the same feature</h4> |
| <p>Care should be taken when enabling and disabling multiple versions of the |
| same feature. If they include other features and the inclusion is set with a |
| match attribute that is not "perfect", disabling old feature version |
| may have a consequence of disabling new children. To avoid this situation, |
| disable the new version first, then enable the old one; i.e., never have two |
| versions of the same feature simultaneously enabled (bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=25236">25236</a>).</p> |
| <h4>Upgrading very old workspaces</h4> |
| <p>If you upgrade to 2.1 from a pre-2.0 workspace that existed prior to the introduction of |
| features, the next time you add a feature you will be prompted on startup with a dialog asking which features to install. If you de-select all features and click OK, then all features are disabled. This prevents |
| you from ever using that workspace again (since the Eclipse Platform feature is disabled). The |
| solution is to delete the <code>.config</code> subdirectory in the workspace's |
| metadata area and then restart Eclipse. (bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=35703">35703</a>)</p> |
| <h3>3.1.9 <a name="I-Platform - Debug">Platform - Debug</a></h3> |
| <p>None. (Known problems with the Java debugger appear below in the <a href="#I-Java Development Tools (JDT)">JDT</a> |
| section.)</p> |
| <h3>3.1.10 <a name="I-Platform - Compare">Platform - Compare</a></h3> |
| <p>None.</p> |
| <h3>3.2 <a name="I-Java Development Tools (JDT)">Java Development Tools (JDT)</a></h3> |
| <h4>Running Java programs with non-Latin-1 characters in |
| package or class names</h4> |
| 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. (bug <a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=4181">4181</a>) |
| <h4>Cannot run or debug class in a project with GB18030 characters in project |
| name</h4> |
| <p>Most class libraries do not properly support the creation of a system process |
| (via <code>java.lang.Runtime.exec(...)</code>) when the specified command line |
| contains GB18030 characters. This limitation means the debugger cannot launch |
| applications when the command line it generates contains GB18030 characters. |
| (bug <a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=32206">32206</a>)</p> |
| <h4>Unable to debug stack overflows</h4> |
| <p>If a debug session suspends on a <code>java.lang.StackOverflowError</code> |
| exception (due to an exception breakpoint), the debugger may not be able to |
| retrieve any debug information from the target JVM. As well, the debugger may |
| not be able to reliably interact with the target JVM past this point. (bug <a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=19217">19217</a>)</p> |
| <h4>Evaluation limitation</h4> |
| <p>The debugger uses threads in the target JVM to perform evaluations (both |
| explicit evaluations that the user requests, and implicit evaluations such as <code>toString()</code> |
| invocations in the <b>Variables</b> view). The Java Debug Interface (JDI) |
| requires that the thread in which an evaluation is performed be suspended by a |
| user event (that is, a breakpoint or step request). Evaluations cannot be |
| performed on threads suspended by the suspend action. As well, when a breakpoint |
| is configured to suspend the JVM rather than just the individual thread, the |
| threads which did not encounter the breakpoint are not in a valid state to |
| perform an evaluation. When an evaluation is attempted in a thread that is not |
| in a valid state to perform an evaluation, an error message will appear to the |
| effect of "Thread must be suspended by step or breakpoint to perform method |
| invocation". (bug <a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=34440">34440</a>)</p> |
| <h4>Breakpoints outside of the build class path</h4> |
| <p>Breakpoints can only be created on Java elements that are contained on the |
| build class path of a project. The Java debugger automatically deletes |
| breakpoints if their associated Java element is removed from the build path of a |
| project. However, if the Java debug plug-in is not loaded when a build path is |
| changed, such breakpoints will remain in the workspace, and can cause errors |
| when the user attempts to go to the file associated with the breakpoint, from |
| the Breakpoints view. (bug 34845)</p> |
| <h4>Missing debug attributes</h4> |
| 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, "<code>rt.jar</code>") are compiled without |
| complete debug attributes, and thus local variables and method arguments for |
| those classes are not visible in the debugger. |
| <h4>Setting breakpoints</h4> |
| 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 ("int x;"). |
| 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. (bugs <a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=8473">8473</a>, <a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=12696">12696</a>) |
| <h4>Using Hot Code Replace</h4> |
| 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. |
| <p>Note that hot code replace and stepping on JDK 1.4.0 VMs was unreliable. The |
| underlying VM problems were fixed in JDK 1.4.1.</p> |
| <h4>Scrapbook</h4> |
| Setting a breakpoint inside a scrapbook page is not supported. |
| <p>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. |
| <p>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. |
| <h4>Debugging over slow connections</h4> |
| 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 > Debug </b>preference |
| page. Changing the timeout value only effects subsequently launched VM, not VMs |
| that are already running. |
| <h4>Updating of inspected values</h4> |
| 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). |
| <h4>Stepping over native methods that perform I/O</h4> |
| 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. |
| <h4>VM and process termination running on IBM 1.3 JVM on Linux (Linux only)</h4> |
| 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 "delete" key). Associated system |
| processes in the OS may not be properly cleaned up. If a debug target has no |
| suspended threads, termination works properly. (bug <a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=1631">1631</a>) |
| <h4>Searching for constant field references</h4> |
| 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. (bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12044">12044</a>) |
| <h4>Quick fix and imports from default packages</h4> |
| <p>Quick fix does not handle imports from default packages. Note that importing from a default package is no longer supported in JDK 1.4 (bug |
| <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19487">19487</a>)</p> |
| <h4>Javadoc hover in the Java editor</h4> |
| <p>The Javadoc hover help shown when hovering over |
| identifiers in the Java editor does not handle links inside of Javadoc comments |
| properly. (bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20644">20644</a>)</p> |
| <h4>Cut, copy, paste not working for linked resources in views showing Java |
| elements</h4> |
| <p>The cut, copy, and paste actions do not work for linked files and folders |
| appearing in views that show Java elements, including the Package Explorer. The |
| workaround is to use these actions from the Navigator view instead. (bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=34568">34568</a>)</p> |
| <h4>Java working sets not working correctly for elements from JRE system library |
| container</h4> |
| <p>Appling a working set consisting entirely of elements from the JRE System |
| library container as a filter to the packages view might result in an empty |
| Package Explorer. (bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=35395">35395</a>)</p> |
| <h4>Problems with files named "java"</h4> |
| <p>If a Java project contains a file named "java", it will trigger an |
| internal error when it is classified (incorrectly) as a Java compilation unit. |
| There are no problems with the string "java" occurs as a part of the |
| name (e.g, javaRefs.txt) or as the file extension part of the name (e.g, A.java). |
| The workaround is to ensure that there are no files named "java" |
| within a Java project. (bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=35614">35614</a>)</p> |
| <h4>Cannot generate Javadoc for packages with GB18030 characters in the name</h4> |
| <p>Most class libraries do not properly support the creation of a system process |
| (via <code>java.lang.Runtime.exec(...)</code>) when the specified command line |
| contains GB18030 characters. Since Javadoc is created using the Javadoc |
| executable provided with the JDK, generating Javadoc fails if the package or |
| class name contains GB18030 characters. (bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32215">32215</a>)</p> |
| <h4>Linked editing does not work correctly in overwrite mode</h4> |
| <p>Linked editing is used for renaming elements within a single compilation unit |
| and for templates with multiple occurrences of the same template variable. |
| Linked editing does not work correctly in overwrite mode. (bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=35216">35216</a>)</p> |
| <h4>Catch block code generation template must end with newline if last line is |
| line comment</h4> |
| <p>If the last line of the catch block code generation template is a line comment then the line |
| must be terminated with a newline. Otherwise the closing curly bracket ends up on the comment |
| line, resulting in a compilation error. (bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=35746">35746</a>)</p> |
| <h4>Problem opening class file editor</h4> |
| <p>If the "Use classpath containers" preference has been enabled on the <b>Plug-in |
| Development > Java Build Path Control</b> preference page, you may not be |
| able to open a class file editor for a class file contained in a JAR in the "Required plug-in entries" container. |
| One way to work around the problem is to expand the class file in the Packages |
| Explorer; this displays the class file's structure just as the editor would. If |
| a source code zip is available for the JAR, another option is to attach source to the JAR file.</p> |
| <p>To attach source to a JAR in the "Required plug-in entries" |
| container, follow these steps:</p> |
| <ol> |
| <li>In the Package Explorer, select the project and open <b>Project > |
| Properties</b> from the context menu</li> |
| <li>Select the <b>Java Build Path</b> page</li> |
| <li>Flip to the <b> Libraries</b> page</li> |
| <li>Expand the "Required plug-in entries" item</li> |
| <li>Expand the item for the JAR</li> |
| <li>Select "Source Attachment" and press <b>Edit</b></li> |
| <li>Enter the location of the corresponding source zip</li> |
| <li>OK to acknowledge</li> |
| </ol> |
| <p>(bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=35769">35769</a>)</p> |
| <h3>3.3 <a name="I-Plug-in Development Environment (PDE)">Plug-in Development |
| Environment (PDE)</a></h3> |
| <h4>PDE source page colors do not take effect on Apply</h4> |
| <p>Changes to the colors PDE uses for source pages of its multi-page editors are |
| not immediately visible in opened editors after pressing the Apply button |
| on the <b>Plug-in Development > Editors preference</b> page. To work |
| around this problem, close the editor and and reopen it. (bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33640">33640</a>)</p> |
| <h4>Icons folder not included in bin.includes of some PDE templates</h4> |
| <p>PDE provides a number of templates that can be used to create fully |
| functioning plug-in projects and/or extensions. When projects are created, the <code>build.properties</code> |
| file is created with the initial content, which includes the property 'bin.includes' |
| listing the plug-in manifest and its code JARs. However, it omits mention of |
| other files created by the template, such as the <code>icons/</code> folder. As |
| a request, these extra files do not end up in the plug-in when built using Ant |
| build file or exported using 'Export deployable plug-ins and fragments' wizard. |
| To work around this problem, add these files and directories manually in |
| build.properties file. (bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=35554">35554</a>)</p> |
| <h4>Emacs key bindings do not work in manifest editor fields</h4> |
| <p>Non-default key bindings currently do not work in fields on non-source pages |
| of the PDE manifest editors. (bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19482">19482</a>)</p> |
| <h4>Comments in source pages of PDE XML editors</h4> |
| <p>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. (bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8000">8000</a>)</p> |
| <h4>Problem while importing fragments</h4> |
| <p>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. (bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16921">16921</a>)</p> |
| <h4>Plug-in import wizard does not allow plug-ins of different versions to be |
| imported</h4> |
| <p>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. (bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18500">18500</a>)</p> |
| <h4>PDE nature required for plug-in manifest syntax checking</h4> |
| <p>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. (bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19248">19248</a>)</p> |
| <h4>PDE does not preserve original manifest file layout</h4> |
| <p>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. (bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19251">19251</a>)</p> |
| <h4>Go To Line in manifest editor causes Outline view to go blank</h4> |
| <p>When the <b>Source > 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. |
| (bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19361">19361</a>)</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>When mapped to a target, the project folder is ignored</h4> |
| <p>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 "New Folder" is in the |
| mapping page. (bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17657">17657</a>)</p> |
| <h4>FTP messages cause an exception</h4> |
| <p>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. (bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18108">18108</a>)</p> |
| <h4>FTP problems with spaces in resource names</h4> |
| <p>FTP does not work properly when file or folder name contains spaces. (bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20220">20220</a>)</p> |
| <h4>FTP problems retrieving remote timestamps with NT server</h4> |
| <p>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 |
| "file does not exist" error. The workaround is to <b>Synchronize</b> |
| again and continue. (bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19715">19715</a>)</p> |
| <h2>4. <a name="Running Eclipse">Running Eclipse</a></h2> |
| <p>After installing the Eclipse SDK in a directory, you can start the Workbench by running the Eclipse executable |
| included with the release (you also need a JRE, included with the Eclipse SDK). On Windows, the executable file is called <samp>eclipse.exe</samp>, |
| and is located in |
| the <code>eclipse</code> subdirectory of the install. If installed at <code>c:\eclipse-SDK-2.1-win32</code>, |
| the executable is <code>c:\eclipse-SDK-2.1-win32\eclipse\eclipse.exe</code>. <b>Note:</b> Set-up on |
| other operating environments is |
| analogous.</p> |
| <p>If you do not specify otherwise, Eclipse creates a default workspace in a |
| subdirectory as a sibling of the executable (that is, at, <code>c:\eclipse-SDK-2.1-win32\eclipse\workspace</code>). |
| This workspace directory is used as the default content area for your projects |
| as well as for holding any required metadata. For shared or multi-workspace |
| installs you must explicitly specify the location for your workspace using the |
| "<code>-data</code>" command line |
| argument; for example, </p> |
| <blockquote> |
| <p><code>eclipse -data c:\myworkspace -vm c:\jdk1.4.1_01\jre\bin\javaw</code></p> |
| </blockquote> |
| <p><i>Tip:</i> It's generally a good idea to explicitly specify which Java VM to |
| use when running Eclipse. This is achieved with the "<code>-vm</code>" command line |
| argument as illustrated above. If you don't use "<code>-vm</code>", Eclipse will look |
| on the O/S path. When you install other Java-based products, they may change your |
| path and could result |
| in a different Java VM being used when you next launch Eclipse. |
| </p> |
| <p>To create a Windows shortcut to an installed Eclipse and a particular |
| workspace (e.g., <code>c:\myworkspace</code>):</p> |
| <ol> |
| <li>Navigate to <code> eclipse.exe</code> in Windows Explorer and use Create |
| Shortcut on the content menu. |
| <li>Select the shortcut and edit its Properties. In the Target: field append |
| the <code>-data</code> option followed by the location of the workspace |
| (e.g., "<code>-data c:\myworkspace</code>"). |
| </ol> |
| <p>Opening this shortcut launches Eclipse on the specified workspace. (You can |
| drag the shortcut to the Windows Desktop if you want to keep it in easy reach.)</p> |
| |
| <h2>5. <a name="Upgrading"></a>Upgrading Workspace from a Previous Release</h2> |
| <p> |
| If you are upgrading to a newer release of Eclipse from an older release, there are |
| simple steps to follow to migrate your workspace to the new release. Your workspace |
| is the directory on disk that contains all of your project files, as well as |
| metadata such |
| as preferences you may have customized. The steps to follow for upgrading depend on |
| whether or not you used the "<code>-data</code>" command line argument when starting |
| Eclipse. The "<code>-data</code>" argument is recommended because it clearly specifies the |
| location of your workspace. If this argument is not used, Eclipse will place the workspace |
| in the current working directory at the time Eclipse was launched. |
| </p> |
| <p>Note that if you installed additional features and plug-ins into your older Eclipse, you |
| should re-install them in the new Eclipse prior to upgrading workspaces. |
| <p><i>Tip:</i> It doesn't hurt to make a backup copy of your workspace before |
| upgrading. After you've upgraded your workspace, you won't be able to use it |
| again with an older version of Eclipse. If you ever want to go "back in time" |
| to an earlier release, you'll need that backup! |
| </p> |
| <h3>Users who don't use "-data"</h3> |
| <p> |
| If you weren't previously using "-data" to specify your workspace, follow |
| these steps to upgrade: |
| <ol> |
| <li>Find the workspace directory used by your old version of Eclipse. Typically this |
| is located inside the directory in which Eclipse was installed in a subdirectory called "<code>workspace</code>". |
| If you are using a shortcut or script to launch Eclipse, then it will be under the current |
| working directory of that shortcut or script in a subdirectory called "workspace". |
| For Windows users, this is specified by the Start in: argument in your shortcut properties.</li> |
| <li>Copy this workspace directory to a new, empty location outside of any Eclipse |
| install directory.</li> |
| <li>Install the new version of Eclipse in a new location, separate from any old version |
| of Eclipse.</li> |
| <li>Start this new version of Eclipse, using the "<code>-data</code>" command line argument to |
| point to the workspace location.</li> |
| </ol> |
| <h3>Users who do use "-data"</h3> |
| <p> |
| If you were previously using the "<code>-data</code>" argument to start Eclipse, your |
| upgrade path is much easier: |
| <ol> |
| <li>Install the new version of Eclipse in a new location, separate from any old versions |
| of Eclipse.</li> |
| <li>Start this new version of Eclipse, using the "<code>-data</code>" command line argument to |
| point to your old workspace location.</li> |
| </ol> |
| <h2>6. <a name="Interoperability with Previous Releases">Interoperability with |
| Previous Releases</a></h2> |
| <h3>6.1 Interoperability of Release 2.1 and 2.0</h3> |
| <h4>Sharing projects between heterogeneous Eclipse 2.0 and 2.1</h4> |
| <p>Special care is required when a project in a team repository is being loaded |
| and operated on by developers using Eclipse-based products based on different |
| feature or plug-in versions. The general problem is that the existence, |
| contents, and interpretation of metadata files in the workspaces may be specific |
| to a particular feature or plug-in version, and differ between versions. The |
| workspace compatibility guarantees only cover cases where all developers upgrade |
| their Eclipse workspaces in lock step. In those cases there should be no problem |
| with shared metadata. However, when some developers are working in Eclipse 2.1 |
| while others are working in Eclipse 2.0, there are no such guarantees. This |
| section provides advice for what to do and to not do. It addresses the specific |
| issues with the Eclipse SDK.</p> |
| <p>The typical failure mode is noticed by the 2.1 user. 2.1 metadata is lost |
| when a 2.0 user saves changes and then commits the updated metadata files to the |
| repository. Here's how things typically go awry:</p> |
| <ul> |
| <li>A user working in Eclipse 2.1 creates or modifies a project in a way that |
| results in changes to a shared metadata file that rely on 2.1-specific |
| information. The user then commits the updated project files, including the |
| shared metadata file, to the shared repository.</li> |
| <li>Another user working in Eclipse 2.0 shares this project from the same |
| repository. The 2.1-specific information in the shared metadata file is not |
| understood by Eclipse 2.0, and is generally discarded or ignored without |
| warning. The user modifies the project in a way that results in changes to |
| the shared metadata file, causing the shared metadata file to be rewritten |
| without any of the 2.1-specific information. The user commits the updated |
| project files, including the shared metadata file, to the shared repository. |
| The user is generally unaware that shared information has just been lost as |
| a result of their actions.</li> |
| <li>A user working in Eclipse 2.1 picks up the changes to a project from the |
| shared repository, including the updated shared metadata file. The user may |
| be unaware that they have just taken a retrograde step until later when |
| things start to malfunction.</li> |
| </ul> |
| <p>Here are a list of things to watch out for when the project is to be shared |
| between users of Eclipses 2.1 and 2.0:</p> |
| <ul> |
| <li><b>Linked folders and files<br> |
| </b>This support was added in 2.1. Information about linked resources is |
| recorded in the project's <code>.project</code> file. Recommendation: do not |
| use. Better still, disable linked resources via the <b>Workbench > Linked |
| Resources</b> preference page.</li> |
| <li><b>External tool (Ant) builders</b><br> |
| Information about external tool builder is recorded in the project's <code>.project</code> |
| file. The format of the information changed between 2.0 and 2.1. Builders |
| created or changed in 2.1 use the new format, which is not understood by a |
| 2.0 workspace. Builders created in 2.0 use the old format and continue to |
| work in 2.1. Recommendation: Always create or edit external tools builders |
| from a 2.0 workspace.</li> |
| <li><b>Optional exclusion patterns on Java source entries on the build class |
| path</b><br> |
| This support was added in 2.1. This information is recorded in the project's |
| <code>.classpath</code> file. Recommendation: do not specify exclusion |
| patterns. Better still, disable exclusion patterns via the<b> Java |
| > Compiler > Build Path</b> preference page.</li> |
| <li><b>Output folders associated with Java source entries on the build class |
| path</b><br> |
| This support was added in 2.1. This information is recorded in the project's |
| <code>.classpath</code> file. Recommendation: do not specify anything other |
| than the default (project-wide) output folder. Better still, disable |
| multiple output locations via the<b> Java > Compiler > Build Path</b> |
| preference page.</li> |
| <li><b>Source attachment root path associated with Java library entries on the |
| build class path</b><br> |
| When attaching a source ZIP to a library JAR on the Java build path, the |
| source root path prefix is inferred automatically. This has changed from |
| 2.0, where it could be explicitly set via the UI and explicitly recorded in |
| the project's <code>.classpath</code> file. Consequently, a Java project |
| created in a 2.1 workspace might not find the attached source. |
| Recommendation: Use 2.0 to specify the source attachment root path. There is |
| additional source attachment flexibility provided in 2.1: you can provide a |
| folder instead of a JAR or zip as a source attachment, and you can attach |
| source to a class file folder; this functionality is not available in 2.0 |
| (where the 2.1 information is ignored). Recommendation: Use 2.0 to |
| specify the source attachment.</li> |
| <li><b>PDE classpath containers for dependent plug-ins</b><br> |
| PDE's use of classpath containers was added in 2.1. Classpath containers are |
| recorded in the project's <code>.classpath</code> file. If PDE classpath |
| containers are used, then a 2.0 workspace will have unresolved classpath |
| entries and therefore most Java capabilities (including compilation, search, |
| run, debug) will not produce the expected results. Recommendation: Ensure |
| that the setting on the <b>Plug-in Development > Java Build Path Control </b>preference |
| page for using classpath containers is disabled before creating any new plug-in |
| (or fragment) projects.</li> |
| </ul> |
| <h4>Using Eclipse 2.1 to develop plug-ins that work in Eclipse 2.0</h4> |
| <p>It is also possible (and reasonable) to use Eclipse 2.1 to develop a plug-in |
| intended to work in Eclipse 2.0. Use the <b>Plug-in Development > Target |
| Platform </b>preference page to locate non-workspace plug-ins in an 2.0 Eclipse |
| install. This ensures that the code for your plug-in is being compiled and |
| tested against Eclipse 2.0 APIs, extension points, and plug-ins. (The above list |
| of concerns do not apply since they affect the layout and interpretation of |
| files in the plug-in <i>project</i> but none affect the actual deployed form of |
| the plug-in.)</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>Apple and Mac OS are trademarks of Apple Computer, Inc., registered in the |
| U.S. and other countries.</p> |
| <p>QNX, Neutrino, and Photon are trademarks or registered trademarks of QNX |
| Software Systems Ltd.</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> |