March 10, 2004
This software is OSI Certified Open Source Software.
OSI Certified is a certification mark of the Open Source Initiative.
1. Target Operating Environments
2. Compatibility with Previous Releases
3. Known Issues
4. Running Eclipse
5. Upgrading a Workspace from a Previous Release
6. Interoperability with Previous Releases
7. Defects Fixed in Maintenance Releases
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.
Eclipse SDK 2.1 has been tested and validated on the following Java 2 Platform implementations:
|Operating system||Processor architecture||Java 2 Platforms|
|Intel x86||Sun Java 2 SDK, Standard Edition, version 1.3.1_06 for Microsoft Windows|
|Sun Java 2 SDK, Standard Edition, version 1.4.1_01 for Microsoft Windows|
|IBM Developer Kit for Windows, Java 2 Technology Edition, version 1.3.1 SR-2|
|IBM 32-bit SDK for Windows, Java 2 Technology Edition, version 1.4.0|
|Linux||Intel x86||Sun Java 2 SDK, Standard Edition, version 1.3.1_06 for Linux x86|
|Sun Java 2 SDK, Standard Edition, version 1.4.1_01 for Linux x86|
|IBM Developer Kit for Linux, Java 2 Technology Edition, version 1.3.1 SR-2|
|Sun Solaris||SPARC||Sun Java 2 SDK, Standard Edition, version 1.3.1_06 for Solaris SPARC|
|Sun Java 2 SDK, Standard Edition, version 1.4.1_01 for Solaris SPARC|
|HP HP-UX||hp9000 PA-RISC||HP-UX SDK for the Java 2 platform, version 1.3.1 for hp9000 PA-RISC|
|IBM AIX||PowerPC||IBM Developer Kit for AIX, Java 2 Technology Edition, version 1.3.1|
|Apple Mac OS||PowerPC||Java 2 Platform, Standard Edition, version 1.3.1 for Mac OS X|
|Java 2 Platform, Standard Edition, version 1.4.1 for Mac OS X|
|QNX Neutrino RTOS||Intel x86||IBM J9 VM for QNX, version 2.0|
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; "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.
|Window system||Java 2 Platform
(see above table)
|Operating Environment||Testing Status|
|Win32||Windows on Intel x86||Windows XP||Primary|
Linux on Intel x86
|RedHat Linux 8.0 x86||Primary|
|SuSE Linux 8.1 x86||Primary|
|Other Linux; kernel version 2.4.7, and XFree86 version 4.1.0||Untested|
|Solaris on SPARC||Sun Solaris 8 SPARC||Primary|
|HP-UX on hp9000 PA-RISC||HP-UX 11i hp9000||Primary|
|AIX on PowerPC||IBM AIX 5.1 on PowerPC||Primary|
|GTK||Linux on Intel x86|
|RedHat Linux 8.0 x86 (GTK 2.2 required for DBCS)||Primary|
|SuSE Linux 8.1 x86 (Latin-1 only)||Primary|
|Other Linux; GTK 2.0.6 (GTK 2.2 required for DBCS)||Untested|
|Carbon||Mac OS X on PowerPC||Mac OS X 10.2||Early access|
|Photon||IBM J9 VM for QNX||QNX Neutrino RTOS 6.2.1||Primary|
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.
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.
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.
German and Japanese locales have been tested.
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.
IMPORTANT: The above BIDI support is available only for Windows operating environments.
API Contract Compatibility: 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 Evolving Java-based APIs for a discussion of the kinds of API changes that maintain contract compatibility.
Binary (plug-in) Compatibility: 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 Evolving Java-based APIs for a discussion of the kinds of API changes that maintain binary compatibility.
Source Compatibility: 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.
Workspace Compatibility: 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.
Non-compliant usage of API's: 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 How to Use the Eclipse API for information about how to write compliant plug-ins.
Eclipse 2.1 breaks compatibility with Eclipse 2.0 in the following areas.
Note: Bug numbers refer to the Eclipse project bug database at http://dev.eclipse.org/bugs/
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).
These changes have several ramifications at the API:
nullin more cases than before.
getFileForLocationare 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:
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.
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 (
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 Workbench > Linked Resources preference page. (bug 6664)
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
was deprecated and replaced by
Since there are few potential clients of either method beyond the Eclipse
Platform itself, it's unlikely that clients will be affected. (bugs 10262,
In Eclipse 2.1, the API and code for the
was partitioned and parceled out to several new plug-ins (
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
should continue to state a dependency on the
Eclipse 2.0 provided interim support for pluggable app servers via an
org.eclipse.help.app-server extension point, with
interim APIs in the
org.eclipse.help 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).
Eclipse 2.0 provided interim support for pluggable web browsers via the
extension point, with API in the
package. For 2.1, this support appears in finished form in different location:
org.eclipse.help.browser extension point, with API in the
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.
There are some new restrictions that repository providers should be aware of
validateSave/Edit. The first is that the hook can
be invoked from a non-UI thread. The provider should use
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.
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 26469)
The specification of the
Event.character 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 33592)
In order to properly support the Mac for Eclipse 2.1, a new
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
SWT.MOD1 in favor of either
SWT.COMMAND. The advent of the Mac port of Eclipse affects
existing clients that explicitly check for the
modifier. In most cases, they should instead check for
that they work appropriately on both Macs and non-Macs. (bug 24393)
SWTError exception is now thrown when a Java type is
requested from an empty variant type (
VT_EMPTY). Since existing
clients should already be handling
SWTError exceptions as per the
Variant.getInt(), etc., this change should not affect
existing clients. (bug 24402)
SWTError exception is now thrown if you create a second
DropTarget) 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
SWTError exceptions as
per the spec for the
constructors, this change should not impact existing clients. (bug 35214)
There is a new preference setting that controls whether the search engine
should report inexact matches. The user can set this via the Workbench >
Search preference page. The new API method
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 20663)
FileDocumentProvider now saves a file in the encoding it has
been read rather than in the workbench's default encoding.
Clients should be aware of key binding scopes, which were introduced in 2.1.
sets "org.eclipse.ui.textEditorScope" as its key binding scope.
Subclasses inherit this setting if they do not override "initializeKeybindingScopes".
AbstractTextEditor does not set any key binding scopes; it leaves
this to its subclasses.
All actions registered with an instance of
should have an action definition id. Otherwise they will not be accessible via
The following class, methods, and constants have been deprecated. The Javadoc indicates what should be used instead.
AnnotationBarHoverManager(ISourceViewer, IVerticalRuler, IAnnotationHover, IInformationControlCreator)
IncrementalFindAction(ResourceBundle, String, IWorkbenchWindow, boolean)
MarkerRulerAction(ResourceBundle, String, IVerticalRuler, ITextEditor, String, boolean)
SelectMarkerRulerAction(ResourceBundle, String, IVerticalRuler, ITextEditor)
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 (
they need to take into account the possibility of other output locations (
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 24123)
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 (
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 22039)
The specification for
ICodeFormatter.format 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 30417)
have been deprecated because they were not a particularly good way to deal with
the general issue of comments and significant whitespace. Since the
AST.parseCompilationUnit never set the leading
comment for any AST nodes they create, the change is moot for most clients. (bug
In Eclipse 2.0, certain Java model API operations (
rename) threw an
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
JavaModelException in such cases. Clients need to
be aware that the empty array case does indeed trigger an exception. (bug 32219)
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
IJavaModel.getNonJavaResources. Their inclusion in
the Java model means that they appear in Java model deltas, under
This change may affect clients that listen for Java element deltas (via
if they make overly strong assumptions about triggering conditions and contents.
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
if they make overly strong assumptions about triggering conditions and contents.
For Eclipse 2.1, the API predicate
(both forms) was changed to do the more standard thing of returning false rather
JavaModelException in some cases. While this change
is within the original spirit of the original API contract, it breaks
source compatibility because
JavaModelException is a checked
exception; code that invokes this method and catches
may need to be rewritten. (bug 33754)
3.2 Java Development Tools (JDT)
3.3 Plug-in Development Environment (PDE)
3.4.1 FTP and WebDAV support
Note: Bug numbers refer to the Eclipse project bug database at http://dev.eclipse.org/bugs/
OS dialogs for selecting files or folders are only partially translated on GTK 2.0.6 or GTK 2.2. These dialogs and the untranslated messages come from GTK, not from Eclipse. This is a known bug in GTK. (bug 38248)
The versions of GTK included with RedHat Linux 8.0 and SuSE Linux 8.1 that we tested support Latin-1 locales but not DBCS. The DBCS 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.
Users who download and compile new versions of GTK, for example to gain DBCS support in GTK 2.2.0 on RedHat 8.0, will need to ensure that the correct GTK libraries are listed in the LD_LIBRARY_PATH environment variable. By default, the compiled GTK libraries are put in /user/local/lib/, so the following would need to be executed prior to launching Eclipse (Note: this must be done for every new terminal session):
Users who download and compile new versions of GTK, for example to gain DBCS support in GTK 2.2.0 on RedHat 8.0, will encounter the following problems using the Korean translation. Some of the text font may get clipped at the top, or windows may resize out of the viewable area. To circumvent this problem, we recommend setting a high screen resolution, for example 1280x1024, and setting the Dialog Font and Banner Font to a gothic font. The latter can be done in the Workbench > Fonts preference page. In addition, in the Properties view, the expand/collapse control ("+"/"-") has no effect. The workaround is to use the arrow keys instead: Left Arrow to collapse, Right Arrow to expand. (bugs 38604 and 38598).
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
to the VM via the Eclipse launcher command line; that is, launch Eclipse with
the command line:
eclipse -vmargs -XdoCloseWithReadPending
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 here.)
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 3109 and 17281)
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
ClassNotFoundException. As a workaround, do the
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 8907)
Plugin.startup 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. (bugs 12827,
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
plug-in provided with Eclipse. For most Ant distributions, the Xerces JARs
cannot even be in the same physical location as the
This results from the Ant JARs containing manifest files which contain classpath
entries pointing to the Xerces JARs. (bugs 33664,
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
antTypes 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 34466).
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 24129).
Certain Ant tasks are known to leak memory. Please see the bug report for details, patches, and possible workarounds. (bug 24448)
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 21748)
Code completion provided by the Ant editor does not respect the
user-specified version of
org.eclipse.ant.core plug-in or ANT_HOME.
Code completion proposals are always based on Ant 1.5. (bug 30886).
- In the Control Panel, open Internet Options, select the Connections tab and choose LAN Settings.
- If your host was configured to use DHCP for IP assignment, make sure that the "Automatically detect settings" check box is cleared.
- If you use a proxy server, ensure that the "Bypass proxy server for local addresses" is selected.
- In "Advanced" settings for proxies, add "127.0.0.1;localhost" to the "Exceptions" if these addresses are not listed.
- 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.
If the above steps do not fix your problem, try changing the port and host
properties on the Help > Help Server preference page. In general,
should work. Also, especially when running a firewall, you may want to specify
port 80 or some other firewall-friendly value. (bugs 7036,
Windows High Contrast settings are not consistently picked up by Internet Explorer when they are set from the Accessibility Options utility as opposed to when they are set using the predefined schemes. On Windows XP, it is recommended to set High Contrast as follows: Right click the desktop, chose properties, select Windows Classic style from the Windows and buttons drop down on the Appearance tab, and choose your scheme (for example High Contrast Black) from Color Scheme drop down. (bug 28609)
A number of dialogs in Eclipse, such as the Preferences dialog, require a minimum display resolution of at least 1024 x 768.
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 Refresh from the pop-up menu. This refreshes only the selected project. Alternatively, activate the Navigator view and press F5, which refreshes all projects.
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.
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).
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).
For Windows XP:
For Windows 2000:
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).
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 Workbench > Keys preference page. (bug 26361)
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 18518)
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 2564)
If an OLE document crashes, Eclipse can crash, or the workbench menus can become inconsistent.
When removing the key binding for the "Toggle Overwrite Mode" command on the Workbench > Keys 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 35248)
The Mac OS X Carbon implementation of SWT does not yet support printing or drag and drop. (bugs 33637, 30104)
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 29777)
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 30021)
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 34524)
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.
On Windows NT only, you should avoid creating items in a
ComboBox 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.
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 35443)
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 32045)
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 31754)
On Windows XP and Windows 2000, if StyledText determines that it is running on a BiDi platform, characters from DBCS languages (e.g., Japanese) and complex script languages (e.g., Thai) will not render properly. A platform is considered BiDi if a BiDi language is installed and if a BiDi input locale is installed (e.g., a Hebrew keyboard layout is specified). (bugs 25691)
In the constructor
Cursor(Device device, ImageData source, ImageData
mask, int hotspotX, int hotspotY), 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 4809)
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.
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
chmod 555 *.sl
(bug 20305 describes a related problem)
In order for JAWS to detect the checkbox information in Tables, MSAA support for List Views must be activated as follows:
- Open Eclipse and hit INSERT + F2.
- In the Run JAWS Manager dialog select Configuration Manager.
- In the Jaws Configuration Manager that opens up, select Set Options and then select Advanced Options.
- Check "Rely on MSAA for List views".
- Hit the OK button.
- Choose File > Save from the menu bar.
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 Eclipse CVS FAQ.
The CVS plug-in parses messages returned from the CVS server. If the format of these messages is not as expected, some of the plug-in's functionality may be missing. The CVS plug-in is compatible with all stable 1.11.X builds of the CVS server, and should be compatible with future releases in that stream unless text message formats change. The plug-in is not compatible with 1.12.X builds. Basic functionality, such as Commit and Update, will work, but there are known problems with more advanced commands such as Synchronizing and Browsing the repository. (bug 49056)
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 32899)
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 7943)
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 9295)
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 21128)
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 23575 and 23581)
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 15724)
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 21180). Another involves Eclipse not properly reading the stderr output of the external communications tool (bug 11633).
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 33210).
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 26808)
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 31407)
Update manager currently cannot open connections to the remote update sites if the provided URL has https protocol. (bug 31979)
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 33937)
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 18598, 19775)
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 19685, 20247)
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 -noupdate 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.
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 22993).
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 25236).
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
.config subdirectory in
the workspace's metadata area and then restart Eclipse. (bug 35703)
None. (Known problems with the Java debugger appear below in the JDT section.)
java.lang.NoClassDefFoundErrorwhen 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 4181)
Most class libraries do not properly support the creation of a system process
java.lang.Runtime.exec(...)) 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.
If a debug session suspends on a
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 19217)
The debugger uses threads in the target JVM to perform evaluations (both
explicit evaluations that the user requests, and implicit evaluations such as
invocations in the Variables 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 34440)
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)
rt.jar") are compiled without complete debug attributes, and thus local variables and method arguments for those classes are not visible in the debugger.
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.
When a snippet is run in the scrapbook which directly or indirectly calls
the evaluation cannot be completed, and will result in a stack trace for a
being displayed in the scrapbook editor.
Terminating a scrapbook page while it is performing an evaluation results in
com.sun.jdi.VMDisconnectedException being displayed in the
System.err, the output may not appear immediately unless the native performs a flush on the output buffer.
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 19487)
The Javadoc hover help shown when hovering over identifiers in the Java editor does not handle links inside of Javadoc comments properly. (bug 20644)
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 34568)
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 35395)
Most class libraries do not properly support the creation of a system process
java.lang.Runtime.exec(...)) 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 32215)
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 35216)
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 35746)
If the "Use classpath containers" preference has been enabled on the Plug-in Development > Java Build Path Control 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.
To attach source to a JAR in the "Required plug-in entries" container, follow these steps:
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 Plug-in Development > Editors preference page. To work around this problem, close the editor and and reopen it. (bug 33640)
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
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
icons/ 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 35554)
Non-default key bindings currently do not work in fields on non-source pages of the PDE manifest editors. (bug 19482)
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 8000)
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 18500)
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 19248)
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 19251)
When the Source > Go To Line 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 19361)
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 17657)
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 18108)
FTP does not work properly when file or folder name contains spaces. (bug 20220)
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 Synchronize again and continue. (bug 19715)
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 eclipse.exe,
and is located in the
eclipse subdirectory of the install. If
c:\eclipse-SDK-2.1-win32, the executable is
Note: Set-up on other operating environments is analogous.
If you do not specify otherwise, Eclipse creates a default workspace in a
subdirectory as a sibling of the executable (that is, at,
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
-data" command line argument; for example,
eclipse -data c:\myworkspace -vm c:\jdk1.4.1_01\jre\bin\javaw
Tip: It's generally a good idea to explicitly specify which Java VM to
use when running Eclipse. This is achieved with the "
command line argument as illustrated above. If you don't use "
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.
To create a Windows shortcut to an installed Eclipse and a particular
eclipse.exein Windows Explorer and use Create Shortcut on the content menu.
-dataoption followed by the location of the workspace (e.g.,
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.)
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 "
command line argument when starting Eclipse. The "
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.
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.
Tip: 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!
If you weren't previously using "-data" to specify your workspace, follow these steps to upgrade:
workspace". 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.
-data" command line argument to point to the workspace location.
If you were previously using the "
-data" argument to
start Eclipse, your upgrade path is much easier:
-data" command line argument to point to your old workspace location.
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.
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:
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:
.projectfile. Recommendation: do not use. Better still, disable linked resources via the Workbench > Linked Resources preference page.
.projectfile. 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.
.classpathfile. Recommendation: do not specify exclusion patterns. Better still, disable exclusion patterns via the Java > Compiler > Build Path preference page.
.classpathfile. Recommendation: do not specify anything other than the default (project-wide) output folder. Better still, disable multiple output locations via the Java > Compiler > Build Path preference page.
.classpathfile. 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.
.classpathfile. 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 Plug-in Development > Java Build Path Control preference page for using classpath containers is disabled before creating any new plug-in (or fragment) projects.
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 Plug-in Development > Target Platform 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 project but none affect the actual deployed form of the plug-in.)
Release 2.1.3 is a maintenance release to fix serious defects present in release 2.1.0, 2.1.1, and 2.1.2. These changes only affect some plug-ins and features. Modified plug-ins have version id "2.1.3"; plug-ins unchanged since the 2.1 release still have version id "2.1.0"; plug-ins unchanged since the 2.1.1 release still have version id "2.1.1", and so on. Note, however, that all features now have version id "2.1.3" (even if none of their plug-ins changed).
Maintenance release 2.1.3 includes all fixes made in 2.1.2 and 2.1.1 (see following sections) and contains additional fixes for the following defects:
|14103||[Builder] Too many dependents found when incrementally re...|
|22274||[DND] Navigator should not sync selection with editor on ...|
|37612||[KeyBindings] Accelerators don't work just after the page...|
|37742||ACC: missing an item correspondent with ROLE_SYSTEM_OUTLI...|
|38643||Toolbar computeSize stop working after WM_SETFONT|
|38732||organize imports does not work with assert in source code|
|39074||[CellEditors] [DBCS] canna input mode fires bogus event f...|
|39443||GTK Error calling TreeItem.getExpanded() on a tree item b...|
|39892||SWT error thrown when refreshing the properties page|
|39976||NullPointerException in AbstractBuildScriptGenerator.setF...|
|40950||[infrastructure] NPE from indexer|
|41373||SourceField.getConstant() returns null for final fields s...|
|42444||Error building feature; Cannot find plug-in versions|
|42579||Eclipse allows setting a source folder's parent as output...|
|43692||Cancel button has no effect on build started after modify...|
|44063||Clipboard of GTK on KDE : Eclipse crash|
|45138||[2.1.3 Candidate] Eclipse doesn't work with cvs server ve...|
|45357||Compiler-Bug: "The local variable oResult may not have be...|
|45433||Bug7 (and counting ;-): hundretAssignmentsToFinalVariable()|
|45845||scrollbars on ScrollingGraphicalViewer sometimes does not...|
|45847||[Builder] Reading build state is slow|
|45877||many German strings are not displayed|
|45985||BUILD FAILED: java.lang.NoSuchMethodError: attempting to ...|
|46093||[Builder] Unoptimal pre-check for not writing class files|
|46276||Search for package declarations incorrectly finds matches...|
|46301||IStackFrame.getVariable() requests when Variables view is...|
|46413||[2.1.3 Candidate] Reboot on W2K when synchronizing|
|46675||[Compiler] NullPointerException with ? operator|
|46777||DBCS String not getting transfered correctly from the sim...|
|46918||assignment to this allowed by compiler|
|46937||[Compiler] Marking a field deprecated still report deprec...|
|47049||[Builder] Build output folder not getting flushed because...|
|47074||inability to detect invalid cast between interfaces|
|47082||[Compiler] Problem with final variable initialization|
|47415||[Search] package references confused with multiple fragments|
|47509||Refactor name of package fragment does not handle on dema...|
|47778||NPE during shutdown [type hierarchy]|
|47881||[Compiler] x && false evaluates to "true"|
|47886||[Compiler] ACC_SUPER bit sets for interfaces|
|47976||Implementation of IField.getConstant() fails for some con...|
|47989||Exception when searching for IPackageFragment "java.util....|
|48275||[navigation] abnormal lineup/linedown refresh when using ...|
|48317||Cannot build without optional plug-ins present|
|48333||[Compiler] Implicit deprecation isn't propagated to anony...|
|48561||Java code generation template doesn't preserve import sta...|
|48749||[Compiler] deprecation check in initializer fooled by tra...|
|50301||Characters typed are displayed backwards.|
|51821||TextNavigationAction sends invalid selection events -- pa...|
|53205||Exception trying to deploy/build plug-in with missing opt...|
|53419||viewing preference page makes preferences tree unresponsive|
|53570||Opening the file type association dialog to the external ...|
|53832||VM Crash related to focus or set font|
|53837||Workbench hangs up when hitting space key on readonly combo.|
Note: the above table was generated with the Bugzilla query: http://bugs.eclipse.org/bugs/buglist.cgi?product=JDT&product=PDE&product=Platform&target_milestone=2.1.3&resolution=FIXED&order=bugs.bug_id
Release 2.1.2 was the second maintenance release to fix serious defects present in releases 2.1.0 and 2.1.1.
Maintenance release 2.1.2 includes all fixes made in 2.1.1 (see next section) and contains additional fixes for the following defects:
|18144||License is in one line|
|29765||BIDI: ToolTiptext do not have Right to left Reading order|
|29781||BIDI: Lack of leading and trailig styles for alignment of...|
|29783||BIDI: drop-down list of rtl-oriented CCombo is displayed ...|
|29784||BIDI: keyboard's left and right arrows change value of rt...|
|29786||BIDI: keyborad's left and right arrows move focus between...|
|29787||BIDI: problem with keyboard's left and right arrows, when...|
|29788||BIDI: rtl-oriented Tracker has wrong behavior.|
|30434||BIDI: StyledText to support RIGHT_TO_LEFT orientation|
|35826||GPs on exit|
|35877||Stack overflow in code assist|
|36270||BIDI: Some custom widgets can't be created with explicitl...|
|36276||BIDI: When UpDown control of rtl-oriented TabFolder is us...|
|36679||BIDI: PopupList can't be created with explicitly assigned...|
|36684||BIDI: LTR-oriented MessageBox can't be created, if it's p...|
|37186||Search indexes generated for similar locales|
|37293||BIDI:GC.drawImage(0, ... draws at 1, ... when using RIGHT...|
|37299||BIDI:Caret cheese when resizing RIGHT_TO_LEFT StyledText|
|37479||BIDI: Drop-down list of CCombo doesn't inherit it's orien...|
|37490||BIDI: text in the rtl-oriented Text control can't be alig...|
|37498||BIDI: rtl-oriented TableCursor set next column instead of...|
|37608||[Bidi] StyledText - support dynamic changing of orientation|
|38799||Searching for wildcard character * causes server memory e...|
|38852||Java memory arguments not being passed to operational VM|
|39032||Bidi: StyledText - exception in autoscroll in bidi|
|39108||Numerous single type imports can slow compiler down signi...|
|39394||Extensible debug events|
|39474||JavaBreakpoint.recreate() should call getAdapter(IJavaDeb...|
|39663||setSuperclass(String superclassName) API of org.eclipse....|
|39664||setSuperInterfaces(String interfaceNames) API of org.e...|
|39987||BIDI: MIRRORED bit can't be switched on in the style's bi...|
|40006||BIDI: rtl-oriented StyledText has overlapping segments pr...|
|40019||BIDI: StyledText has problem with drawing of selection in...|
|40174||Performance issues with builder|
|40442||Abstract class fails to invoke interface-defined method i...|
|40736||JDT compiler fails to compile legitimate Java code.|
|40820||Installing patch via New Updates search doesn't respect m...|
|40857||Eclipse Infocenter framework strings not getting translat...|
|40940||Printing disabled in Solaris|
|42505||IndexOutOfBoundsException during indexing help|
|42724||StyledText - selection rendered incorrectly on bidi platf...|
|42805||Chkpii errors for the 2.1.2 build|
|42897||BIDI: CHECK style doesn't work with RTL Tree or Table|
|43125||Bidi: DCR setOrientation API for Text and Combo widget|
|43518||Stepping through session bean is very slow in WSAD v5.1|
|43811||3.0M3 fails startup|
|43857||Java files generated from PDE templates contain IBM copyr...|
|43863||Plugin editor incorrectly reformats packages prefixes|
|45228||bookmark's title(DBCS) breaks.|
|45267||BIDI: Mirrored text appears on every editor|
|45882||Using a workspace created with 2.1.1 fails with 2.1.2 RC2|
Note: the above table was generated with the Bugzilla query: http://bugs.eclipse.org/bugs/buglist.cgi?product=JDT&product=PDE&product=Platform&target_milestone=2.1.2&resolution=FIXED&order=bugs.bug_id
Release 2.1.1 was the first maintenance release to fix serious defects present in release 2.1.0.
Maintenance release 2.1.1 fixes the following defects present in release 2.1.0, all of which are also included in 2.1.2:
|20988||[Coolbar] CoolBarManager does not support wrapping with a...|
|28609||Readme: Accessibility problems when in high contrast mode|
|29632||[Workbench] Need to warn user about migrating workspace f...|
|30644||VCM preference pages cut off in High Contrast|
|30646||Tag Configuration Dialog cut off in High Contrast mode|
|30678||Labels don't wrap in certain preferences pages|
|30854||[Encoding] DBCS: Encoding change at the Preferences cause...|
|31794||Types views show too many errors|
|31914||[CVS Core] refresh local does not update dirty state of p...|
|31941||gtk_progress_bar_set_fraction - crash when creating a cla...|
|32967||Java Editors preference page uses externalized values for...|
|33316||FontDialog needs FontData API|
|33347||[Linked Resources] Advanced button comes before options a...|
|33374||Allowed to add a package to a non-java project|
|33684||[Wizards] Error when trying to create a new project|
|34011||Leak: JUnit View|
|34245||[Preferences] DBCS: "Use System Font" button truncated|
|34608||Exception using content assist|
|34926||Exception in pull-up refactoring [refactoring]|
|34969||[Contributions] Menu manager is enabled even when empty.|
|35244||[Action Sets] Hierarchy fast view causes unhandled except...|
|35319||TVT21: Cannot input characters in German for motif|
|35335||README: [Fonts] DBCS: customized font won't be saved|
|35338||Cannot save file, "Save failed:null" error message received|
|35362||[CVS Repo View] "Compare with..." on file fails|
|35377||[CVS UI] Performing Team>Edit followed by Team>Unedit doe...|
|35378||[CVS UI] Timestamp not reset properly on commit|
|35379||(possibly regression) Moving to default package adds ".*"...|
|35438||CastExpression resolution departs from JLS section 6.5.1|
|35490||Search doesn't work for reference of 'cursorLocation'|
|35497||ArrayIndexOutOfBounds on external tools page|
|35501||[Dialogs] NPE in Organize Imports preference page|
|35505||NPE on java project build path page|
|35528||When I check out a project from CVS, Updating takes a ver...|
|35556||[Refactoring] NPE upon inlining method|
|35614||RC3 can't handle all file extensions|
|35649||The SourceMapper instances could share the fileNamefilter|
|35657||Eclipse crashes and throws exception when starting up in ...|
|35671||'Synchronize CVS projects' does not always synchronized a...|
|35673||TVT 2.1: Can not launch browser with eclipse RC3a|
|35701||[Editor Mgmt] Exiting Eclipse with a problem file caused ...|
|35740||Disable edit launch config popup action for private launch|
|35750||[Key Bindings] Accelerator Key doesn't work if items are ...|
|35755||Search in hierarchy misses dependent projects|
|35769||NPE when opening ClassFile Editor|
|35774||Unexpected Exit: Error: Object "" does not have windowed ...|
|35831||NPE navigating references using links|
|35842||Outline view crashes on WinXP & Win2K|
|35851||Content of folders with illegal package name are no shown...|
|35926||Batch compiler compile should return false when the comma...|
|35965||Source not found in source attachment|
|36034||[Keybindings] Exception if description is missing from a ...|
|36044||Maximizing help views does not work on Mozilla.|
|36077||Doc: org.eclipse.help.browser extension point has wrong i...|
|36086||[CVS Repo View] Expanding project in Version category for...|
|36139||[CVS Core] NPE in CVS property page|
|36145||Help toolbars not high enough when large fonts.|
|36146||[CVS Core] CVS synchronizer doesn't handle out of sync CV...|
|36157||[CVS UI] Workbench Help set on wrong Composite|
|36160||Java watch expressions not using getAdapter.|
|36185||[CVS Repo View] inconsistent folder and module context me...|
|36192||Native crash when closing tree nodes|
|36213||ArrayIndex out of bounds|
|36216||Import preferences does not work for numbers and boolean|
|36248||[Team] Ignore schema differs from code|
|36257||[Dialogs] ContainerSelectionDialog returns array with nul...|
|36267||[Key Bindings] Key binding and unknown command (conflict)|
|36298||Missing translation string|
|36312||natives do not implement internalCopyAttributes properly|
|36326||stackframe label not getting updated when stepping over s...|
|36351||[CVS EXTSSH] Deadlocks / Timeouts in SSH communication|
|36353||Move to Ant 1.5.3|
|36373||Improve startup time and reduce memory by caching plugin....|
|36387||Infocenter: Synchronization broken when proxy is used.|
|36438||null == null causes java.lang.VerifyError|
|36450||[Key Bindings] Only KeyUp event for Alt+[Shift]+<char> on...|
|36465||Unable to create multiple source folders when not using b...|
|36490||Java compiler misses dependency on 'static final' class v...|
|36501||[PropertiesView] Properties view not updated after select...|
|36516||ClassCastException: MonitorAction not use getAdapter.|
|36541||Printing of java program causes failure|
|36548||Help frames accessibility issues|
|36554||JDT/UI plugin activation fails when activated in non UI t...|
|36568||CVS tag property shows "(branch)" and "(version)" for sam...|
|36569||Difference between (none) and HEAD?|
|36579||[CVS Decorators] Dirty decorator not cleared on refresh|
|36603||Missing resource in variables dialog|
|36622||Problems with "Search Scope" function|
|36627||NPE when clicking on Previous Search Results|
|36659||extensions lazy loading mechanism is not thread safe|
|36718||Compiler should not generate references to classes not on...|
|36795||VariablesView.populateDetailPaneFromSelection not prepare...|
|37146||New icon needed for synchronize button added to help navi...|
|37151||User problem with synchronization button|
|37179||LaunchView.selectAndReveal doesn't account for partial do...|
|37188||Expose Tomcat performance configuration variables|
|37224||TextSearch should use IDocument if one opened|
|37288||StepIntoSelectionHandler is filtering events from same de...|
|37297||[Contributions] SubStatusLineManager.setVisible handles m...|
|37463||[Navigator] Should not sync with selection in Navigator a...|
|37537||[Coolbar] Can't restore combo box on toolbar|
|37566||Cannot rename a Java Project referenced by a Simple Proje...|
|37567||Remove automatic forward linking|
|37621||java compiler creates class with internal inconsistency|
|37691||[DND] Change EditorAreaDropAdapter to set DROP_COPY|
|37732||Tomcat error reporting (404 and others)|
|37787||[Import/Export] Flashing Cursor appears in description in...|
|37938||One-click search does not find e-fixes|
|37963||Backport delete retry code from 3.0 into 2.1.1|
|38171||PageLayout contains non NLS-ed strings|
|38173||Help Search dialog does not close after cancelling and re...|
|38213||[Wizards] Dialogs require a resize to draw|
|38277||TVT2.1- Description text not translated in code Generatio...|
|38335||Update Manager continues to find available updates|
|38382||DND in Packages View results in incorrect target element|
|38385||Japanese Input (IME) not doesn't come up|
|38388||eclipse crash on redhat 9/ ja_JP|
|38551||TVT21: Missing text and fields in JRE tab of Java Applet|
|38598||README - [Properties View] TVT21: Not able to expand in ...|
|38604||README - [Fonts] TVT21: Default font is too high in Korean|
|38812||README - TVT21: Launching Eclipse on RedHat 8.0 with Gtk 2.2|
|38914||Clicking in the wrong sequence crashes Java VM|
|38975||PropertySheetViewer gets IllegalArguementException if Roo...|
Note: the above table was generated with the Bugzilla query: http://bugs.eclipse.org/bugs/buglist.cgi?product=JDT&product=PDE&product=Platform&target_milestone=2.1.1&resolution=FIXED&order=bugs.bug_id
Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.
IBM is a trademark of International Business Machines Corporation in the United States, other countries, or both.
Microsoft, Windows, Windows NT, and the Windows logo are trademarks of Microsoft Corporation in the United States, other countries, or both.
Apple and Mac OS are trademarks of Apple Computer, Inc., registered in the U.S. and other countries.
QNX, Neutrino, and Photon are trademarks or registered trademarks of QNX Software Systems Ltd.
Other company, product, and service names may be trademarks or service marks of others.
(c) Copyright IBM Corp. and others 2004