Release 2.0.2
November 7, 2002
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 Release
3. New Features in this Release
4. Known Issues
5. Defects Fixed
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. The 2.0 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.0 has been tested and validated on the following Java 2 Platform implementations:
Operating system | Processor architecture | Java 2 Platforms |
Microsoft® Windows® |
Intel x86 | Sun Java 2 SDK, Standard Edition, version 1.3.1 for Microsoft Windows |
IBM Developer Kit for Windows, Java 2 Technology Edition, version 1.3.0 | ||
Sun Java 2 SDK, Standard Edition, version 1.4 for Microsoft Windows | ||
Linux | Intel x86 | Sun Java 2 SDK, Standard Edition, version 1.3.1 for Linux x86 |
IBM Developer Kit for Linux, Java 2 Technology Edition, version 1.3.0 | ||
Sun Java 2 SDK, Standard Edition, version 1.4 for Linux x86 | ||
Sun Solaris | SPARC | Sun Java 2 SDK, Standard Edition, version 1.3.1 for Solaris SPARC |
Sun Java 2 SDK, Standard Edition, version 1.4 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.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 Linux GTK configuration is considered early access for the 2.0 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 2000 | Primary |
Windows XP | Primary | ||
Windows ME | Secondary | ||
Windows 98SE | Secondary | ||
Windows NT | Secondary | ||
Motif |
Linux on Intel x86
|
RedHat Linux 7.2 x86 | Primary |
SuSE Linux 7.3 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 7.2 x86 GTK 2.0 | Early access |
SuSE Linux 7.3 x86 GTK 2.0 | Early access | ||
Other Linux; kernel version 2.4.7, and GTK 2.0 | Early access; untested |
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 and 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 only. Note that GB 18030 also requires locale and character encoding support from the Java 2 Runtime Environment; this support is standard in version 1.4, and also available in some 1.3 JREs.
German and Japanese locales have been tested.
The Eclipse SDK 2.0 is a development environment targeted at technical professionals - not an end user application. However, the Eclipse SDK 2.0 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 2.0 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 can not be changed.
IMPORTANT: The above BIDI support is available only on Windows platforms.
API Contract Compatibility: The Eclipse SDK 2.0 is upwards contract-compatible with the Eclipse SDK 1.0 unless noted. This means that programs in full compliance with contracts specified in the Eclipse SDK 1.0 APIs will automatically be in full compliance with the Eclipse SDK 2.0 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 the Eclipse SDK 2.0 APIs would ensure compliance with the Eclipse SDK 1.0 APIs.
Binary (plug-in) Compatibility: The Eclipse SDK 2.0 is upwards binary-compatible with the Eclipse SDK 1.0 unless noted. This means that plug-ins built for the Eclipse SDK 1.0 will continue to work correctly in the Eclipse SDK 2.0 without change. Downward plug-in compatibility is not supported. Plug-ins for the Eclipse SDK 2.0 are unlikely to be usable in the Eclipse SDK 1.0. Plug-ins with hard-coded references in their plug-in manifest file to 1.0 versions of prerequisite Eclipse Project plug-ins will not work in 2.0 as the plug-in version numbers will be incompatible.
Source Compatibility: The Eclipse SDK 2.0 is upwards source-compatible with the Eclipse SDK 1.0 unless noted. This means that source files written to use the Eclipse SDK 1.0 APIs can be successfully compiled and run against the Eclipse SDK 2.0 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 the Eclipse SDK.
Workspace Compatibility: Eclipse SDK 2.0 is upwards workspace-compatible with Eclipse SDK 1.0 unless noted. This means that workspaces and projects created with Eclipse SDK 1.0 can be successfully opened by Eclipse SDK 2.0 and upgraded to a 2.0 workspace. Individual plug-ins developed for Eclipse SDK 1.0 should provide similar upwards compatibility for their workspace metadata; plug-in developers are responsible for ensuring that their plug-ins recognize 1.0 metadata and process it appropriately. Note: the interim Eclipse SDK 1.0 plug-ins (ones with provisional APIs) are unlikely to automatically upgrade their metadata to 2.0. 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.0 will be unusable with an earlier version of Eclipse SDK.
Note on non-compliant usage: 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 an earlier release. Refer to How to Use the Eclipse API for information about how to write compliant plug-ins.
The public client API has been kept stable with the exception of ITextViewer
interface which changed in an incompatible way:
ITextViewer.invalidateTextPresentation()
ITextViewer.setDefaultPrefixes(String[] defaultPrefixes,
String contentType)
ITextViewer.setDefaultPrefix(String defaultPrefix,
String contentType)
The debug API has been completely reworked for 2.0. The new APIs are not compatible with the 1.0 APIs, which were all considered "interim".
The high level API differences between the new and old debug platforms are:
IBreakpoint
),
with an associated marker used for presentation in editors, and persistence
of attributes. There is a new extension point for registering types of
breakpoints: org.eclipse.debug.core.breakpoints
.ILauncher
was used to
launch applications. In 2.0, the concept of a "launcher" has been
replaced with a launch configuration. There are new extension points to
register launch configuration types, and for comparing launch
configurations (org.eclipse.debug.core.launchConfigurationTypes
,
org.eclipse.debug.core.launchConfigurationComparators
). The
associated interfaces are ILaunchConfigurationType
, ILaunchConfiguration
,
ILaunchConfigurationWorkingCopy
, and ILaunchConfigurationDelegate
.org.eclipse.debug.ui.launchConfigurationTabGroups
, org.eclipse.debug.ui.launchConfigurationTypeImages
,
and org.eclipse.debug.ui.launchShortcuts
. The associated
interfaces are ILaunchConfigurationTabGroup
, ILaunchConfigurationTab
,
and ILaunchShortcut
.As well, the Java debug model API has been enhanced and changed to reflect changes in the debug platform.
Eclipse 1.0 Core Target Management was provisional. For 2.0, Core Target Management has been withdrawn and replaced by team target management providers. These new target management facilities are early access, and are contained in the Eclipse FTP and WebDAV Support feature (separately installable).
Help APIs and extension points were marked as interim in Eclipse 1.0. Based on the initial feedback, the Help APIs and extension points have changed significantly in Eclipse 2.0 and are not compatible with those in Eclipse 1.0.
Eclipse 1.0 Scripting support was provisional and incomplete. For 2.0, the Scripting component has been withdrawn completely from the Eclipse Platform.
The Install/Update component API has been completely reworked for 2.0. The 1.0 notion of component has been replaced in 2.0 by the notion of a feature. The new APIs are not compatible with the 1.0 APIs, which were all considered "interim".
Workspace compatibility from VCM CVS 1.0 to Team CVS 2.0: the meta information for CVS providers has considerably changed from 1.0 to 2.0, and the meta information is not being preserved. To ease migration, some automation of migrating CVS repository locations is provided, and some helpful steps have been included. These are described in the Team CVS FAQ.
Extension point schema file extension has been changed from *.xsd to *.exsd to avoid conflicts with XML schema editors and/or non-PDE schema files. PDE will still detect files with the old extension and will issue a warning about the change.
Eclipse 2.0 Install/Update has discontinued the use of components in favor of features. Consequently, PDE 2.0 supports feature-related development while component support has been removed. Features are described in the Eclipse Platform Plug-in Developer Guide.
Although services releases usually do not contain new features, service release 2.0.2 does contain one new performance enhancement.
A new command line parameter -classloaderProperties
provide a
way to pass in a file containing additional information that the Eclipse
Platform can use to significantly increase the speed of loading code for
plug-ins. For details see Using
the Class Loader Properties File (on the Eclipse Platform Core Development
Resources page).
4.1 Platform
4.1.1 Core
4.1.2 Ant
4.1.3 Help
4.1.4 UI
4.1.5 SWT
4.1.6 Team
4.1.7 Install/Update
4.2 Java Development Tools (JDT)
4.3 Plug-in Development Environment (PDE)
4.4 Other
4.4.1 FTP and WebDAV support
Note: Bug numbers refer to the Eclipse project bug database at http://dev.eclipse.org/bugs/
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 -XdoCloseWithReadPending
to the VM via the Eclipse launcher command line; that is, launch Eclipse with
the command line:
eclipse -vmargs -XdoCloseWithReadPending
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 contain invalid characters. (bugs 3109, 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 following:
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. (bug 8907)
If 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 Plugin.startup
code. (bugs 12827,
5875, 16141)
If an Ant script is run as an external tool or using the Run Ant
pop-up menu, it runs on the same Java VM as Eclipse. If the running script
execute any Ant task that calls System.exit(int)
, Eclipse exits and
any unsaved work is lost. A workaround for these Ant tasks is to configure Ant as
an external tool. The following steps show how this is done:
- Download and install the binary version of Ant from http://jakarta.apache.org/ant
- Click Run > External Tools > Configure.
- Click New.
- Enter a name for your external tool (for example, "External Ant").
- Click Browse File System.
- Find and select a file called
ant.bat
(it should be in the bin/ folder of your Ant installation).- In the Tool Arguments field enter the arguments for your script that would normally enter for running the script outside of the Workbench.
- In the Working directory field enter the directory of your script.
- Click OK to exit the wizard.
- To run the script, click Run > External Tools > External Ant.
- 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 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 in org.eclipse.tomcat\preferences.ini
. In general, setting
host=localhost
or host=127.0.0.1
should work. Also, especially when running a firewall, you may
want to set port=80
or some other firewall-friendly value. (bugs
7036,
9418, 11394)
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 dirty state for an OLE document is not updated properly. This causes it to prompt to save the contents when the document is closed, even if the contents have already been saved.
If an OLE document crashes, this can cause Eclipse to either crash, or to have workbench menus become inconsistent.
A number of dialogs in Eclipse, such as the Preferences dialog, require a minimum display resolution of at least 800 x 600. (bug 5549)
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 20599)
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:
In Window > Preferences > External Tools, there is a group of radio
buttons under the heading "Preferred Output Level" with possible
options of "Information", "Verbose" and "Debug".
Changing these values does not affect Eclipse in any way. Workaround: when
running an Ant script, use the Ant command line arguments -verbose
or -debug
to get an output level other than the default
("Information"). (bug
20817)
Clients of action bars may create a number of SubToolBarManagers
on their IToolBarManager
(e.g., multipage editor). The client will
typically make one SubToolBarManager
visible, the rest invisible,
and call updateActionBars
. The visibility of the items may not
update correctly.
A workaround is for the client to explicitly update the toolbar:
actionBars.updateActionBars();
actionBars.getToolBarManager().update(false);
Available colors on 8-bit Linux (Linux only)
Typically, in Gnome Linux installs running with 8-bit visuals (i.e. 256 color mode), before the Eclipse application is started you already do not have any free colors. This may mean that Eclipse is unable to allocate the default widget background color, causing it to display a white background. The functionality, however, is otherwise unaffected.
Printing support (Linux only)
The X printing extension implementation on Linux is currently disabled
because it can take up to 7 seconds to determine that the X print server is not
running. Until this is rectified, Printer.getPrinterList()
will
always return an empty array on Linux. (bug
8821)
Disposing in a focus event
Applications should not dispose widgets in focus changing events. Doing so on Motif may cause Eclipse to terminate, since Motif accesses the disposed widget within their internal focus change event handler. A similar (but less serious) issue exists on Windows and occasionally results in an SWT exception being thrown.
List and ComboBox on Windows NT (Windows NT only)
On Windows NT only, you should avoid creating items in a List
or
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.
BiDi support
The StyledText
widget provides bidirectional language support for Hebrew and
Arabic locales. Currently this support is available only on Windows and has
several known problems.
Cursor constructor arguments
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)
Using IBM J9 VM (Photon and AIX)
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.
Missing permissions for SWT native libraries in workspace (HP-UX only)
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 /workspace
):
cd /workspace/org.eclipse.swt.motif/os/hpux/PA_RISC
chmod 555 *.sl
(bug 20305 describes a related problem)
Because of a bug in the way we updated the javadoc in SWT source code, the javadoc for protected methods is not consistent across platforms. The javadoc for the Windows platform, which is used to generate the documentation that appears in the Platform Plug-in Developer guide, is the definitive source. The javadoc for the other window systems will be brought into line in a future release. (bug 20968)
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 Solaris implementation of Motif has a long-standing bug with respect to adding and removing accelerators and mnemonics. The behavior is such that the time to do so becomes increasingly longer each time it occurs, to the point that, in Eclipse's case, it can take more than a minute to switch between editors and views! Because of this, accelerators and mnemonics are explicitly ignored on Solaris.
Note: Additional information on how to use CVS from Eclipse can be found in the Eclipse CVS FAQ.
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 12386)
Eclipse sometime performs multiple commands within a single connection to the server. This may cause problems with CVS servers that are running server scripts in response to certain commands. (bug 15490)
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)
The Team > Update command will load all remote changes into your local working copy. If you are using Team > Update and you want to see which files have outgoing changes, open the CVS console before performing the update. The console will show the results of the update (which files had mergeable conflicts, which ones had unmergeable conflicts and which ones had outgoing changes). Warning: Only use Team > Update if you know CVS. If there are "real" conflicts (i.e., those that affect the same line of a file) then CVS will add markup to the file during the update. Resolving these conflicts in this manner is not pleasant. (bug 16750)
When you Mark as Merged, if its your only incoming change and you are in the incoming mode, the sync view becomes empty. On the surface it looks like the change is gone. However, your change will appear in outgoing mode. (bug 18513)
If you perform a Team > Commit on a file that has been modified but whose contents match the contents of the file on the server, the file will remain on outgoing change. To correct the problem, either perform a Team > Update or use the Synchronize view to commit. (bug 18647)
The Change ASCII/Binary Properties menu item is only enabled for files and folders that are under CVS control. If you want to set the keyword substitution mode for a new file, you will need to add it to version control first. (bug 19183)
If pruning is turned off and a project has incoming nested folder additions that do not contain any files, performing an update in the Synchronize view will result in an error (cannot create folder). The workaround is to perform a Team > Update which will bring in the directories. (bug 19442)
If you remove one or more resources from the Synchronize view using the Remove from View menu item, these resources will no longer appear but they will still be included in any performed operations (Update, Commit, etc.) (bug 19538)
Ctrl-S does not perform a save in the workspace resource editor in the Synchronize view. Instead, use the popup menu and choose Save. (bug 20327)
By default, empty directories will be pruned on checkout and update. This is desirable in most cases as directories on a CVS server are never deleted. However, if this causes problems, there is a CVS preference to disable auto-pruning. (bug 20463)
Performing the following steps will result in the above exception:
The workaround is to commit the folder deletion before creating the new file. (bug 20906)
If the "delete unmanaged resources on replace" preference has been disabled on the Team > CVS preference page and a Team > Replace With operation is performed on a project that has one unmanaged resource and no other outgoing changes, the user is prompted to overwrite local changes even though the operation will not overwrite the unmanaged resource. (bug 18834)
If you copy a folder that is under CVS control to a folder that is not, the
CVS/
folders (usually not shown) will be copied as well. This can cause problems if the target project is under
CVS control and you try to add the moved folder to CVS control. The workaround
is to manually delete the CVS/
subdirectories using the file system browser,
or
disconnect the source project from CVS control before copying the folders. (bug
20621)
On update, if there are incoming deletions for one or more files and incoming additions for files of the same name with a different case, then the operation may fail on Windows depending on what order the server sends the files in. Workaround is to update the deletions first and then the additions using the Synchronize view. (bug 21001)
Migrating 2.0 pre-release workspaces
When migrating an existing workspace that was used with a 2.0 pre-release
version of Eclipse (e.g., created with development drops obtained directly from
eclipse.org, or updated via the Eclipse update manager prior to 2.0 release), it
is strongly recommended that you start with a fresh install of Eclipse 2.0, and
delete the .config/
subdirectory of the .metadata/
directory located in the workspace you are migrating (<workspace>/.metadata/.config/)
before reopening the workspace. (bug
16456)
Not enough space for temporary files
If you get the error "java.io.IOException: There is not enough space in the file system." but still have plenty of space in the selected install location, check to make sure that you also have sufficient space in the standard location where temporary files are created. (bug 17787)
Workbench non-responsive while attempting to connect
If the connection to an update site does not respond (the site does not exist or is down), the workbench becomes non-responsive until the connection request times out. Once the time out is reported, you will be able to continue. (bugs 18598, 19775)
Processing pending "downgrades"
Natively-installed feature changes are automatically detected on workbench startup. If this change is a downgrade (that is, the newly detected version of a feature is older that one already configured), you will be prompted whether you'd like the change applied; even when you say Yes, the change will not actually be applied, and the currently configured newer feature will remain configured. If the downgrade was intentional, open Help > Software Updates > Update Manager, and from the Install Configuration view, choose Show Disabled Features, explicitly enable the lower version and explicitly disable the newer version. (bug 16502)
Local JAR files are locked
While processing update sites in the local file system (for example, by exploring My Computer), some of the feature JAR files may be left open while the workbench is active, and will not be available to other applications. Exit and restart the Eclipse to correct this condition. (bug 15594)
Accessing update sites through a proxy
To access an update site through a proxy, you will need to start the workbench with the following command line options:
eclipse -vmargs -DproxySet=true -DproxyHost=<proxy_name> -DproxyPort=<proxy_port>
as documented in JavaWorld Tip 42. Proxies requiring user authentication are currently not supported. (bug 19717)
URL validity checking on input
URL syntax is currently not completely checked on input. Ensure that any entered URLs use the correct separators (eg. forward slash '/') and do not contain invalid characters. (bugs 19685, 20247)
Running "headless" applications that do not handle restart
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.
Link file entry with trailing blank is invalid
If a link file used to connect product extensions with products contains an entry with a 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).
Enabling two versions of the same feature
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).
java.lang.NoClassDefFoundError
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
4181)
rt.jar
") are compiled without
complete debug attributes, and thus local variables and method arguments for
those classes are not visible in the debugger.
Hot code replace and stepping on JDK 1.4.0 VMs is unreliable. This appears to be a VM issue that should be fixed in later releases of the JDK.
When a snippet is run in the scrapbook which directly or indirectly calls System.exit(int)
,
the evaluation cannot be completed, and will result in a stack trace for a com.sun.jdi.VMDisconnectedException
being displayed in the scrapbook editor.
Terminating a scrapbook page while it is performing an evaluation results in
a com.sun.jdi.VMDisconnectedException
being displayed in the
scrapbook editor.
System.out
or System.err
, the output may not appear immediately unless the
native performs a flush on the output buffer.
You cannot use ${CURSOR}
inside of a comment in a Java code
template (Window > Preferences > Java > Templates). (bug
19556)
Organize import 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 Add Javadoc action does not work for fields. (bug 20259)
The Javadoc hover help shown when hovering over identifiers in the Java editor does not handle links inside of Javadoc comments properly. (bug 20644)
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)
Clipboard shortcuts (Ctrl+X, Ctrl+C, Ctrl+V etc.) do not work in cell editors of properties that belong to the PDE Plug-in Manifest Editor. Use pop-up menu to activate these operations. (bug 13776)
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 16921)
PDE assumes that all plug-in and fragment projects that contain Java code have one or more source folders and build output in the bin/ folder. Although it is possible to change the name of the output folder in Properties dialog, the PDE run-time workbench launcher does not work correctly for those plug-ins. (bug 17444)
Preferences set in PDE preference page called Target Platform are not preserved the same way as other preferences. Consequently, they are not subject to Import/Export operations in the Preferences dialog. (bug 19688)
GUI pages of the Feature Manifest Editor support pop-up menus that contain standard clipboard operations (Cut, Copy, Paste). However, none of these operations work for structural widgets (trees and lists). The only place where these operations do work is in text widgets in Information and Source page (bug 20460)
PDE computes the build class path of a plug-in project by looking up source mappings in
the build.properties
file. This file defines how source folders are compiled into
runtime libraries. In the absence of this file, PDE will compute the class
path that contains no source folders, resulting in compilation errors. The
required
build.properties
file is generated by PDE when a new plug-in project is
created. If the
plug-in project is created in some other way, a build.properties
file must be
added manually. See the PDE Guide for details on the format of
build.properties
files. (bug
9765)
Eclipse products are typically built so that plug-ins are located in the same
directory and each plug-in is in the directory whose name includes both a
plug-in id and a version id (e.g., "org.eclipse.ui_2.0.0
"). If external plug-ins are used while self-hosting, these plug-in
directory names show up in PDE-generated class paths. These class path are
sensitive to plug-in version changes and must be recomputed if the target platform
uses different version numbers. (bug
15199)
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)
When creating a new feature project, the PDE wizard does not automatically
generate a build.properties
file. As a result, building the feature will create
a feature JAR without any content. To work around this, create a build.properties
manually
using the instructions provided in the PDE Guide. (bug
20118)
Java libraries are associated with source code according to source code locations specified in a PDE preference. By default, these locations are registered by plug-ins of the design-time Eclipse instance. If the target platform is not the same as the design instance, the source code provided by these plug-ins will not be in sync with the libraries. The workaround is to uncheck the default locations and define new source code locations that point to the source-bearing plug-ins in the target Eclipse installation. (bug 20578)
PDE manifest editors do not provide widgets for specifying run-time library types as being either "code" or "resource". The only way to specify this attribute is to add it manually in the source page. (bug 20757)
If a plug-in requires a runtime library exported through more than two
plug-ins, it is not automatically added to the compile class path when generating
the build.xml
file. Example: Plug-in A export its libraries,
plug-in B requires plug-in A and re-exports A, plug-in C requires plug-in B and
re-exports B. If plug-in D requires plug-in C, when generating the build.xml
file, plug-in A libraries will not be added to the compile path even though they
will be available at runtime. The problem can be worked around as follows::
- Generate a
build.xml
using PDE (select theplugin.xml
file and click Create Plug-in JARs)- Edit the
build.properties
and add the following line:
custom = true- Add the missing JARs to the classpath of the javac task in
build.xml
.
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)
Using Deploy > Target Site on a project that is already deployed and selecting the same target site produces a scary overwrite warning. In this case, the warning can be safely ignored. (bug 17707)
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)
Release 2.0.2 is a maintenance release to fix serious defects present in release 2.0.0. These changes only affect some plug-ins and features. Modified plug-ins have version id "2.0.2" or "2.0.1"; plug-ins unchanged since the 2.0 release still have version id "2.0.0". Note, however, that all features now have version id "2.0.2" (even if none of their plug-ins changed).
Service release 2.0.2 fixes the following defects present in service release 2.0.1:
ID | Summary |
---|---|
17030 | Need to search documentation for exact string match |
18035 | "Running the queries..." in one-click update |
18826 | poor update manager download performance |
19868 | Provide a full history log |
19869 | Update parsers do not set error handlers |
19932 | Show Status for unconfigured feature |
20050 | Show Status for "missing feature" |
20714 | UpdateManagerUtils.copyToLocal() not closing output stream |
20910 | Updating multiply-installed features |
21330 | The feature updates view cannot rename folders |
21347 | [Perspectives] Extensions must be able to customize defau... |
21351 | Separation of feature containment (includes) & updating n... |
21352 | Drill down updating should not be supported |
21391 | Features without corresponding plugin cannot be referenced |
21622 | handling disconnect/communication error |
22004 | no keyboard shortcuts for switching between pages of Mult... |
22131 | Contents of "My Computer" in Update Manager are not sorted |
22203 | More dependencies increase GUI waiting time [build path] |
22269 | [Navigator] File->Rename while already renaming hangs Nav... |
22458 | Refactoring a package does not move the package's directory |
22673 | VerifyError in char cast of static final char referenced ... |
22687 | Not easy to re-install optional feature |
22807 | Deleting non-optional features from file system throws error |
23290 | Default JFaceResource fonts need to be updated |
23291 | [Dialogs] jface.Dialog.contrainShellSize() not working co... |
23318 | Resolution of Circular Dep. preference/error message filt... |
23320 | Incomplete classpath and circular classpath options shoul... |
23340 | [ExternalTools] ArrayIndexOutOfBounds exception when runn... |
23343 | Warn users about update policy |
23388 | IJavaType does not implement equals |
23408 | Externalize JavaUISourceLocator.SourceLookupDialog |
23558 | Extremly slow startup |
23853 | "Completing the install" screen shown at each launch |
23977 | .classpath corruption |
23979 | Build Path page reports cycle even if there is none |
24096 | XML Validation fails on any XML file encoded with GB18030 |
24231 | ErrorDialog not accessible |
24523 | Crash when open a dialog on Japanese locale Linux |
24533 | Disabled feature shows included children's latest enable ... |
24535 | Installing feature enables missing optional children |
24542 | [DND] Crash when drag&drop on the Package Explorer |
24646 | Reverting prevent Eclipse from opening |
24657 | Update test R2, Connection time out |
24659 | Grayed/checked optional feature should not be affected by... |
24667 | [boot] Classloader enhancements |
24668 | [runtime] PluginDescriptor could cache classpath |
24684 | [Editor Mgmt] 'Open With' of Eclipse 2.0.1 sets wrong def... |
24693 | org.eclipse.swt.graphics.GC.drawString() fails to draw eu... |
24758 | Features loaded multiple times during the session |
24869 | GP - Eclipse crashed when entering invalid file name in F... |
24942 | [boot] [2.0.2 tp1] Unable to upgrade eclipse (2.0.0 -> 2.... |
24943 | update is detected on first run |
25191 | Using ANT deadlocks the Workbench |
25202 | Peer features are disabled if an optional feature is missing |
25347 | Deprecation-Flag in Ant doesn't work with Eclipse Compiler |
25495 | Ant compiler adapter should treat bogus imports as errors |
25517 | JVM crashes on method rename with circular dependecies in... |
25551 | Ant javac adapter always reports build successful even if... |
Service release 2.0.1 (Aug. 28, 2002) fixed a number of serious defects present in release 2.0.0:
ID | Summary |
---|---|
12435 | Usability: Cannot resize navigation frame |
12463 | Plugin.find(IPath path, Map override) searches wrong directo |
12906 | [Editor Mgmt] If file is already opened in one editor, canno |
12966 | Remote debugging with Sun J2ME Wireless Toolkit fails |
13926 | JFace Text Editor Leaves a Black Rectangle on Content Assist |
15229 | View errors when launching with out the plugins needed to cr |
15559 | JAWS reads the parent window for dialog shells |
15984 | Activating help does not bring help window to front |
17112 | [External Tools] Should be able to run external tools asynch |
17944 | Sync info on source of project move lost |
18253 | Coolbar - disposing items not honoring setRedraw = false |
18318 | Empty folders created when ugrading Eclipse |
18585 | Search stops if fail to contact site |
18927 | Copied scrapbook page uses some "old" information |
18994 | Typos |
19502 | Accessibility: sometimes focus is now drawn around the topic |
19686 | hover help stops working after mousing over end of file |
19702 | Feature: Have comment/uncomment actions in context menu [cod |
19780 | Table columns not distributing correctly in properties page |
19964 | Coolbar - can "lose" items when platform widget wraps |
20067 | Revert/ Restore are "instant" |
20153 | Export into JAR incorrectly references old description file. |
20260 | TVT2: corrupted characters in java prefs page |
20412 | TVT2: Mnemonic characters displayed in error message |
20430 | [Cell Editors] DialogCellEditor in the PropertySheet bases i |
20480 | Optimize writing of the registry cache file |
20679 | TARGET: FTP download fails with deep directory structure |
20686 | Install handlers are not being called on revert operations |
20725 | JavaBuilder.toString can throw NPE |
20752 | TVT2: Mnemonic showing in Runtime tab of Manifest editor |
20753 | Update manager does not preserve file permissions |
20797 | [External Tools] Need to fix up quoting of variables contain |
20811 | Refresh does not work in Update Manager |
20819 | [External Tools] Ant ui does not handle ENTITY entries in al |
20865 | nullPointerException being thrown by Class Type.resolveBindi |
20866 | Feature without license cannot be disabled. |
20879 | TVT2: clashing mnemonics in JUnit launcher |
20887 | Topic tree collapse behavior |
20927 | ProgressMonitorDialog truncates message |
20947 | [External Tools] Cannot run shell script file with a space |
21010 | Use getAdapter when converting IJavaThread to JDIThread |
21021 | F1 fix made too late |
21033 | TVT2: Clashing mnemonics in Java -> Editor panel |
21036 | RepositoryProvider.project stale if project renamed/moved |
21040 | [Update] Need a way for a user to set default editor when n |
21041 | [Update] Force welcome page first time a new feature is inst |
21082 | Cannot save in Compare with Revision editor |
21088 | TVT2: CannotSync displayed in help instead of proper dialog |
21116 | Can't compile because eclipse says that the method is not vi |
21118 | no mnemonics for Replace, Replace Selected |
21170 | NPE in RuntimeClasspathEntry if internal source archive remo |
21171 | Spelling error in "New Java Project" dialog box |
21173 | Can't create new Project because empty string in "New Projec |
21192 | UnsatisfiedLinkError thrown when pressing a hardware key |
21197 | Don't hard code the editor id names for the ManageBreakpoint |
21198 | On JavaEditor dont use == in the isActivePart() method but i |
21203 | Compile time NullPointerException in catch blocks |
21210 | Packages view Infopop message is not helpful [package explor |
21230 | Rebuilding project fails with ContextStackOverflow (Compilat |
21268 | StyledText - Ctrl+Shift+J inserts line |
21291 | Team Examples require missing plugin org.eclipse.webdav |
21292 | Renaming (refactoring) boolean variables isX renames to getX |
21294 | issue more appropriate message when workbench already runnin |
21305 | Debug element rendering can be more robust |
21306 | JDI client does not tolerate null thread from events |
21308 | Method.isObsolete() broken for method ID 0 on JDK < 1.4 |
21348 | duplicate eclipseurl jar in help.webapp plugin |
21361 | no support for optional features |
21370 | WordPatternRule freezes editor |
21376 | Takes long time for help browser to close. |
21390 | Breakpoint Properties: Add Class, Package missing '...' |
21419 | Infocenter does not work on WAS |
21436 | CVS Quick connect to dev.eclipse.org - only when PDE availab |
21447 | Wrong method invoked at runtime |
21465 | Plugin Resolving - reorder REQUIRES clause & different plugi |
21480 | Bytecode disassembler doesn't handle #invokespecial correctl |
21483 | Error from ClassPrepareEvent when debugging WTK |
21486 | Resources opened in wrong editor when changing the default |
21487 | Infocenter: servlet classes not found. |
21488 | Infocenter ClassCastException in Xerces |
21501 | helpwebapp assumes it is deployed under plugins directory |
21518 | Debugger source lookup problem when debugging against Wirele |
21557 | VM bug prevents valid Java code to be executed on VM < 1.3.1 |
21580 | VerifyError in 1.4 compliant mode |
21595 | Need ability to get target information |
21606 | ImageBuilder deletes & adds rather than overwriting |
21614 | Keyring file cannot be read using IBM 1.4.0 JRE |
21640 | Show types action in Variables view is confused |
21669 | -listener results in ClassCastException |
21672 | Wrong location for the last 'return' bytecode command |
21674 | -kkv default keyword substitution preference is not correctl |
21676 | Readme tools example should not use Ctrl+R |
21686 | [Coolbar] Perspective minimizes its cool items |
21717 | Null Pointer Exception in EditorWorkbook.java |
21749 | Exported libraries and source folders |
21750 | Plugin disabled after Feature update |
21754 | typo in IType::getSuperInterfaceNames javadoc |
21757 | ast: incorrect range for Name in TypeDeclaration |
21761 | [Tasks] NPE refreshing the the task list view |
21764 | [Coolbar] Use minimumSize of preferred size for items |
21768 | ast: incorrect length of SimpleName in MethodDeclaration |
21775 | [External Tools] Allow external tool builders to run on spec |
21778 | ClassFileReader fails on Gnome Twain class |
21781 | NPE restarting after disabling feature (EditorManager.findIm |
21828 | Possible problem in DoStatement#accept0(...) |
21829 | API needed to allow CCombo to display its list at the prefer |
21834 | Coolbar - deleting items corrupting layout |
21845 | <topic> tag doesn't like labels with <xxx> |
21882 | [Coolbar] Cool item position should be persisted |
21883 | [Coolbar] Removing last cool item in row should remove row |
21885 | [Action sets] Support for toggle buttons and combo boxes in |
21916 | VariableDeclarationExpression |
21917 | Request for new API on AntRunner |
21941 | NotPresentException in TestSuite wizard [JUnit] |
21953 | Typo in error message "sychronized" |
22055 | CoolBar - setWrapIndices causes rows to collapse/expand unne |
22064 | Install Handlers not run with -initialize flag |
22093 | VerifyError due to duplicate access method |
22118 | [Decorators] Decorators for IResource ignores adaptable flag |
22142 | [Coolbar] Reset Perspective and original order bug |
22144 | Coolbar - setSize not being honored after setWrapIndices API |
22191 | When adding a new feature with the Update Manager the user g |
22196 | Quick Fix broken due to bug 21768 [quick fix] |
22290 | Running Infocenter as Web Application in WebSphere 4.0 Advan |
22320 | Coolbar - delete item behavior problem |
22418 | Should not complain about package for empty units |
22422 | [External Tools] NPE running external tools builder |
22448 | CoolBar - deleting first item in row does unnecessary collap |
22556 | Crash during startup. |
22561 | Hover Help broken in 2.0.1 I20020815 |
22571 | Duplicate container resolution |
22607 | [Wizards] Wizards do not show icon for error, warning when s |
22681 | [Wizards] 2.0.1: regression: Bug with rendering of wizard er |
22683 | [Dialogs] 2.0.1 regression: Dialog borders differed (too big |
22691 | Verification Dialog contains non translated string |
22740 | Infinite prompt to close editor |
22779 | Eclipse linux-motif GPFs on exit on J9 |
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.
Other company, product, and service names may be trademarks or service marks of others.
(c) Copyright IBM Corp. and others 2002