blob: 34ccf70505558ab755d737a54b1303775a937701 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>Eclipse Project Release Notes 3.0.0</title>
<h1>Eclipse Project Release Notes</h1>
<p>Release 3.0.0<br>
June 25, 2004</p>
<p align="left"><strong>This software is OSI Certified Open Source Software.<br>
OSI Certified is a certification mark of the Open Source Initiative.&nbsp;</strong></p>
<p align="left"><a href="#Target Operating Environments">1. Target Operating
<a href="#Compatibility with Previous Release">2. Compatibility with Previous
<a href="#Known Issues">3. Known Issues</a><br>
<a href="#Running Eclipse">4. Running Eclipse</a><br>
<a href="#Upgrading">5. Upgrading a Workspace from a Previous Release</a><br>
<a href="#Interoperability with Previous Releases">6. Interoperability with
Previous Releases</a><br>
<h2>1. <a name="Target Operating Environments"></a> Target Operating
<p>Most of the Eclipse SDK is &quot;pure&quot; Java<font size="1"><sup>TM</sup></font>
code and has no direct
dependence on the underlying operating system. The chief dependence is therefore
on the Java 2 Platform itself. The 3.0 release of the Eclipse Project is written
and compiled against version 1.4 of the Java 2 Platform APIs, and targeted to
run on version 1.4 of the Java 2 Runtime Environment, Standard Edition.</p>
<p>There are many different implementations of the Java 2 Platform running atop
a variety of operating systems. We focus Eclipse testing on a handful of popular
<span class="header">combinations of operating system and Java 2 Platform; these
are our <em>reference platforms</em>. Eclipse undoubtedly runs fine in many
operating environments beyond the reference platforms we test. However, since we
do not systematically test them we cannot vouch for them. Problems encountered
when running Eclipse on non-reference platform that cannot be recreated on any
reference platform will be given lower priority than problems with running
Eclipse on a reference platform.</span></p>
<p>Eclipse SDK 3.0 has been tested and validated on the following reference
<table width="821" border="1">
<tr bgcolor="#CCCCCC">
<th colspan="4">
<div align="center">
<b><font size="+1">Eclipse Reference Platforms</font></b>
<td width="205"><b>Operating system</b></td>
<td width="76"><b>Processor architecture</b></td>
<td width="59"><b>Window system</b></td>
<td width="453"><b>Java 2 Platform</b></td>
<td width="205">Microsoft Windows XP</td>
<td width="76">Intel x86</td>
<td width="59">Win32</td>
<td width="453">Sun Java 2 SDK, Standard Edition, version 1.4.2_03 for
Microsoft Windows</td>
<td width="205">Microsoft Windows XP</td>
<td width="76">Intel x86</td>
<td width="59">Win32</td>
<td width="453">
<p>IBM 32-bit SDK for Windows, Java 2 Technology Edition, Version 1.4.1</p>
<td width="205">Red Hat Enterprise Linux WS 3</td>
<td width="76">Intel x86</td>
<td width="59">GTK</td>
<td width="453">Sun Java 2 SDK, Standard Edition, 1.4.2_03 for Linux x86</td>
<td width="205">Red Hat Enterprise Linux WS 3</td>
<td width="76">Intel x86</td>
<td width="59">GTK</td>
<td width="453">IBM 32-bit SDK for Linux on Intel architecture, Java 2
Technology Edition, Version 1.4.1</td>
<td width="205">SuSE Linux 8.2</td>
<td width="76">Intel x86</td>
<td width="59">GTK</td>
<td width="453">Sun Java 2 SDK, Standard Edition, 1.4.2_03 for Linux x86</td>
<td width="205">SuSE Linux 8.2</td>
<td width="76">Intel x86</td>
<td width="59">GTK</td>
<td width="453">IBM 32-bit SDK for Linux on Intel architecture, Java 2
Technology Edition, Version 1.4.1</td>
<td width="205">Sun Solaris 8</td>
<td width="76">SPARC</td>
<td width="59">Motif</td>
<td width="453">Sun Java 2 SDK, Standard Edition, 1.4.2_03 for Solaris SPARC</td>
<td width="205">HP HP-UX 11i</td>
<td width="76">hp9000<br>
<td width="59">Motif</td>
<td width="453"><span class="header">HP-UX SDK for the Java 2 platform,
version for hp9000 PA-RISC</span></td>
<td width="205" height="21">IBM AIX 5L Version 5.2</td>
<td width="76">PowerPC</td>
<td width="59">Motif</td>
<td width="453">
<p>IBM 32-bit SDK for AIX, Java 2 Technology Edition, Version 1.4.1</p>
<td width="205">Apple Mac OS X 10.3</td>
<td width="76">PowerPC</td>
<td width="59">Carbon</td>
<td width="453">Java 2 Standard Edition 1.4.1 for Mac OS X</td>
<p>Although untested, Eclipse should work fine on other OSes that support the
same window system. For Win32: Windows 98, ME, NT, 2000, and Server 2003; SWT
HTML viewer requires Internet Explorer 5 (or higher). For GTK on other Linux
systems: version 2.2.1 of the GTK+ widget toolkit and associated librares (GLib,
Pango); SWT HTML viewer requires Mozilla 1.4GTK2. For Motif on other Linux
systems: Open Motif 2.1 (included); SWT HTML viewer requires Mozilla 1.4GTK2.</p>
<p>An early access version of Eclipse is available for 64-bit Linux GTK. Testing
has been limited to early access 64-bit J2SEs running on AMD64 processors.</p>
<p>SWT is also supported on the QNX Neutrino operating system, x86 processor,
Photon window system, and IBM J9 VM version 2.0. Eclipse 3.0 on Windows or Linux
can be used cross develop QNX applications.</p>
<p>The Eclipse Platform is designed as the basis for internationalized products.
The user interface elements provided by the Eclipse SDK components, including
dialogs and error messages, are externalized. The English strings are provided
as the default resource bundles.</p>
<p>Latin-1 locales are supported by the Eclipse SDK on all of the above
operating environments; DBCS locales are supported by the Eclipse SDK on the
Windows, GTK, and Motif window systems; BIDI locales are supported by the
Eclipse SDK only on Windows operating environments.
<p>The Eclipse SDK supports GB 18030, the new Chinese code page standard, on
Windows XP and 2000, and Linux.
<p>German and Japanese locales have been tested.</p>
<h4>BIDI support</h4>
<p>SWT fully supports BIDI on Windows (only). On Linux GTK, SWT supports
entering and displaying BIDI text.</p>
<p>The Eclipse SDK is a development environment targeted at technical
professionals - not an end user application. However, the Eclipse SDK tools will
permit technical professionals who are working in English to build Hebrew/Arabic
end user Java programs which are themselves not based on the Eclipse SDK. The
BIDI support in the Eclipse SDK allows a Java programmer to work with BIDI
strings, code comments, etc. but the Eclipse SDK itself is not designed to be
localized for BIDI locales and its widget orientation can not be changed.</p>
<h2>2. <a name="Compatibility with Previous Release"></a> Compatibility with
Previous Releases</h2>
<h3>Compatibility of Release 3.0 with 2.1 (and 2.0)</h3>
<p>Eclipse 3.0 is compatible with Eclipse 2.0 and 2.1 to the greatest
extent possible.</p>
<p><b>API Contract Compatibility:</b> Eclipse SDK 3.0 is upwards
contract-compatible with Eclipse SDK 2.0 and 2.1 except in those areas noted in
the <em>Eclipse
3.0 Plug-in Migration Guide</em>. Programs that use affected APIs and extension points
will need to be ported to Eclipse SDK 3.0 APIs. Downward contract compatibility
is not supported. There is no guarantee that compliance with Eclipse SDK 3.0
APIs would ensure compliance with Eclipse SDK 2.0 or 2.1 APIs. Refer to <i><a href="">Evolving
Java-based APIs</a></i> for a discussion of the kinds of API changes that
maintain contract compatibility.</p>
<p><b>Binary (plug-in) Compatibility:</b> Eclipse SDK 3.0 is upwards
binary-compatible with Eclipse SDK 2.0 and 2.1 except in those areas noted in
the <em>Eclipse
3.0 Plug-in Migration Guide</em>. Eclipse 3.0 will include additional runtime
compatibility mechanisms to provide effective binary API compatibility. Downward
plug-in compatibility is not supported. Plug-ins for Eclipse SDK 3.0 will not be
usable in Eclipse SDK 2.0 or 2.1. Refer to <i><a href="">Evolving
Java-based APIs</a></i> for a discussion of the kinds of API changes that
maintain binary compatibility.
<p><b>Source Compatibility:</b> Eclipse SDK 3.0 is upwards source-compatible
with Eclipse SDK 2.0 or 2.1 except in the areas noted in the <em>Eclipse
3.0 Plug-in Migration Guide</em>. This means that source files written to use Eclipse
SDK 2.0 or 2.1 APIs can be successfully compiled and run against Eclipse SDK 3.0
APIs. Since source compatibilities 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.
<p><b>Workspace Compatibility:</b> Eclipse SDK 3.0 is upwards
workspace-compatible with Eclipse SDK 2.0 or 2.1 except as noted in the next
section. This means that workspaces and projects created with Eclipse SDK 2.0 or
2.1 can be successfully opened by Eclipse SDK 3.0 and upgraded to a 3.0
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 3.0
should provide similar upwards compatibility for their hidden and visible
workspace metadata created by earlier versions; 3.0 plug-in developers are
responsible for ensuring that their plug-ins recognize 3.0, 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 a product based on Eclipse 3.0
will be unusable with a product based an earlier version of Eclipse. Visible
metadata files created (or overwritten) by Eclipse 3.0 will generally be
unusable with earlier versions of Eclipse.
<p><b>Non-compliant usage of API's</b>: All non-API methods and classes, and
certainly everything in a package with &quot;internal&quot; in its name, are
considered implementation details which may vary between operating environment
and are subject to change without notice. Client plug-ins that directly depend
on anything other than what is specified in the Eclipse SDK API are inherently
unsupportable and receive no guarantees about compatibility within a single
release much less with an earlier releases. Refer to <i><a href="">How
to Use the Eclipse API</a></i> for information about how to write compliant
<h3>2.1 Incompatibilities between release 3.0 and 2.1</h3>
<p>Eclipse 3.0 breaks compatibility with Eclipse 2.1 in areas described in the <i>
Eclipse 3.0 Plug-in Migration Guide</i> located in the Platform Plug-in Developer
Guide (one of the help books included with this released, also available <a href="">here</a>
on the web).</p>
<h2>3. <a name="Known Issues"></a> Known Issues</h2>
<p><a href="#I-Platform">3.1 Platform</a><br>
&nbsp;&nbsp;&nbsp;&nbsp; <a href="#I-Platform-Core">3.1.1 Core</a><br>
&nbsp;&nbsp;&nbsp;&nbsp; <a href="#I-Platform-Ant">3.1.2 Ant</a><br>
&nbsp;&nbsp;&nbsp;&nbsp; <a href="#I-Platform-Help">3.1.3 Help</a><br>
&nbsp;&nbsp;&nbsp;&nbsp; <a href="#I-Platform-UI">3.1.4 UI</a><br>
&nbsp;&nbsp;&nbsp;&nbsp; <a href="#I-Platform-Text">3.1.5 Text</a><br>
&nbsp;&nbsp;&nbsp;&nbsp; <a href="#I-Platform-SWT">3.1.6 SWT</a><br>
&nbsp;&nbsp;&nbsp;&nbsp; <a href="#I-Platform-Team-CVS">3.1.7 Team and CVS</a><br>
&nbsp;&nbsp;&nbsp;&nbsp; <a href="#I-Platform-Install-Update">3.1.8
&nbsp;&nbsp;&nbsp;&nbsp; <a href="#I-Platform-Debug">3.1.9 Debug</a><br>
&nbsp;&nbsp;&nbsp;&nbsp; <a href="#I-Platform-Compare">3.1.10 Compare</a><br>
<a href="#I-JDT">
3.2 Java Development Tools (JDT)</a><br>
<a href="#I-PDE">
3.3 Plug-in Development Environment (PDE)</a></p>
<p>Note: Bug numbers refer to the Eclipse project bug database at <a href=""></a></p>
<h3>3.1 <a name="I-Platform">Platform</a></h3>
<h4> Problems in Korean
translation on GTK 2.2.0 (Linux GTK only)</h4>
<p>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 <b>Workbench
&gt; Fonts</b> preference page. In addition, in the Properties view, the
expand/collapse control (&quot;+&quot;/&quot;-&quot;) has no effect. The
workaround is to use the arrow keys instead: Left Arrow to collapse, Right Arrow
to expand. (bugs <a href="">38604</a>
and <a href="">38598</a>).</p>
<h4> Eclipse process does not
exit (HP-UX only)</h4>
<p>On HP-UX, the HP JVM process that runs the Eclipse Workbench does not
terminate upon closing the workbench. The remedy is to always pass the <code>-XdoCloseWithReadPending</code>
to the VM via the Eclipse launcher command line; that is, launch Eclipse with
the command line:</p>
<p><code>eclipse -vmargs -XdoCloseWithReadPending</code></p>
<p>(bug <a href="">18321</a>)</p>
<h3>3.1.1 <a name="I-Platform-Core">Platform - Core</a></h3>
<h4>Eclipse fails to start on some file systems</h4>
<p>Java sometimes has difficulty detecting whether a file system is writable. In
particular, the method appears to return true in
unexpected cases (e.g., using Windows drive sharing where the share is a
read-only Samba drive). The Eclipse runtime generally needs a writable
configuration area and as a result of this problem, may erroneously detect the
current configuration location as writable. The net result is that Eclipse will
fail to start and depending on the circumstances, may fail to write a log file
with any details. To work around this, we suggest users experiencing this
problem set their configuration area explicitly using the -configuration command
line argument. (bug <a href="">67719</a>)</p>
<h4>XML files with UTF-8 byte order mark fail to have content type detected</h4>
<p>Eclipse will fail to detect the proper content type for XML files that have a
UTF-8 byte order mark if Crimson is the XML parser (as it is on Sun 1.4 JRE). This
problem will prevent actions normally available when files of the affected
content types are selected from being presented to the user. The workaround is
to ensure the default XML parser supports UTF-8 BOMs (such as Xerces does). (bug
<a href="">67048</a>)</p>
<h4>No branding with old config.ini</h4>
<p>If you have an old config.ini file and use it with a new Eclipse build, you
may not get the correct product branding. This is because the id of the standard
Eclipse product changed. Users in shared install scenarios may end up in this
situation as previous builds of Eclipse automatically generated config.ini files
in some cases. The work around is either to delete the local config.ini or
update the eclipse.product line to read eclipse.product=org.eclipse.platform.ide.</p>
<h4><b>Changing the character encoding for a resource causes inconsistencies</b></h4>
<p>Changing the character encoding for a resource (or the whole workspace) does not trigger resource change events or auto builds. The result is that
builders and listeners that maintain state derived from the affected resources will not have a chance to run, causing
inconsistencies (such as compiler errors not going away and searching for references not working properly).
To avoid the problem, create the project and set its character encoding before creating (or
importing) any files in it. However, if you do need to make a project consistent
again, try the following steps (in order):</p>
<li>Close all projects.</li>
<li>Exit Eclipse.</li>
<li>Restart Eclipse.</li>
<li>Re-open all projects.</li>
<li>Project &gt; Clean all projects.</li>
(bug <a href="">59899</a>,
<a href="">67884</a>).</p>
<h4><b>Invalid characters
in install directory prevents Eclipse from starting</b></h4>
<p>Eclipse will fail to launch if installed in a directory whose path
contains certain invalid characters, including :%#&lt;&gt;&quot;!. The
workaround is to install Eclipse in a directory whose path does not contain
invalid characters. (bugs <a href="">3109</a>
and <a href="">17281</a>)</p>
<h4>Problems with
classloaders in created threads</h4>
<p>There is a known issue with trying to load classes from a newly-created
thread using a class loader different from the plug-in class loader. The result
will be a <code>ClassNotFoundException</code>. As a workaround, do the
<li>Create a thread in which to run your code.
<li>Send yourThread.setContextClassLoader(yourClassLoader); // you can find
your classloader by grabbing a class it loaded (YourPluginClass.class.getClassLoader())
<li>Run your code in the newly created thread.</li>
<p>If you set the context class loader for the current thread, you are
competing with other users of the thread (all of Eclipse), so the results will
be unpredictable. However, there should be no problem in practice provided you
reset the context class loader back to its original value when your use in the
current thread is&nbsp;complete. (bug <a href="">8907</a>)</p>
<h4> Deadlock creating executable
extension in Plugin.startup</h4>
<p>If <code>Plugin.startup</code> code is too complex and performs tasks such
as creating an executable extension, a deadlock situation can be created. Only
simple bookkeeping tasks should be performed in <code>Plugin.startup</code>
code. (bugs <a href="">12827</a>,
<a href="">5875</a>)</p>
<h3>3.1.2 <a name="I-Platform-Ant">Platform - Ant</a></h3>
<h4>UTF-8 encoded buildfiles with Byte Order Mark</h4>
<p>UTF-8 encoded buildfiles with byte order marks will fail to be parsed correctly depending on the XML parser being used for the build. Therefore a valid buildfile will fail to build with an error message similar to: "BUILD FAILED: C:\workspace\bom.xml:1: Document root element is missing.". To succeed in building with these files, ensure to include Xerces jars on the Ant runtime classpath so that the Xerces parser is used to parse the XML. As well the context menu for these files in the Navigator or Package Explorer will not have the run shortcuts for Ant builds. (bug
<a href="">67048</a>)</p>
<h4> Custom Ant tasks and Ant
types must be separate from plug-in library JARs</h4>
<p>Including the class files for custom Ant tasks or Ant types in the regular
code JAR for your plug-in causes problems. These class files must be provided in
a separate JAR that is contributed to the <code>org.eclipse.ant.core.antTasks</code>
or <code>antTypes</code> extension point (and not declared as a library in the
plug-in's manifest). This ensures that the Ant tasks and types are loaded by the
special Ant class loader and not by a plug-in classloader. (bug <a href="">34466</a>).</p>
<h4> Concurrent Ant builds not
<p>Eclipse runs Ant in the same JVM as the rest of Eclipse. Several aspects
of Ant and its use of global Java resources (such as System.out and System.err),
make it unsafe to run more than one Ant build concurrently. (bug <a href="">24129</a>).</p>
<h4> Running certain Ant tasks
cause memory leakage</h4>
<p>Certain Ant tasks are known to leak memory. Please see the bug report for
details, patches, and possible workarounds. (bug <a href="">24448</a>)</p>
<h4> Tasks that require input
lock up workspace</h4>
<p>As with using Ant from the command line, prompts for input from the
console is not handled. This is not the same as making use of the &lt;input&gt;
task, which works correctly within Eclipse. (bug <a href="">21748</a>)</p>
<h4>No input handler supplied for &lt;input> task when running Ant in a separate VM</h4>
<p>By default, no input handler is supplied for the &lt;input> task for a build running in a separate VM. Therefore the input requests will always fail. The user can supply an input handler using the -inputhandler argument. (bug
<a href="">45484</a>)</p>
<h4>&quot;version&quot; property is always set when running Ant in the same VM as Eclipse</h4>
<p>The Xalan libraries set system properties including a version property. These get set as properties within the Ant build and therefore the "version" property cannot be set within an Ant buildfile due to the immutable nature of Ant properties. This property will always be set to "2.4.1" for Ant builds in the same VM as Eclipse. (bug
<a href="">45717</a>)</p>
<h4>XDoclet support from within Eclipse</h4>
<p>Since there are differences when running Ant from the commandline and within Eclipse, some extra steps may be needed to have XDoclet support function correctly within Eclipse. Problems may occur creating XDoclet subtasks. The workarounds and full discussion can be found in bug report. (bug
<a href="">37070</a>)</p>
<h4>Ant Editor code completion based on Ant 1.6.1</h4>
<p>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.6.1 (bug
<a href="">30886</a>)</p>
<h4> Eclipse can hang due to implementation of the Ant &lt;property> task (Windows 9X
<p>On Windows 9X, using:&lt;property environment="env"/> will cause Eclipse to hang if the build occurs in the same VM as Eclipse. Running the build in a separate VM will hang the build but not Eclipse.
(bug <a href="">44196</a>)</p>
<h3>3.1.3 <a name="I-Platform-Help">Platform - Help</a></h3>
<h4>Help browser tool bar buttons do not work for some documents</h4>
<p>The Help browser's Print, Synchronize, and Bookmark buttons do not work for
pages that are not actually installed with the product. However, you can always
use the print command in the browser's context menu to print the page you're
reading. (bug <a href="">44216</a>)</p>
<h4> Help documents not displayed
in a browser or very slow document loading (Windows only)</h4>
If your LAN settings are not properly configured for local host access, your
Help browser might open to a blank page or display an HTTP error instead of a
help page, or you may experience long delays when loading help documents. Your
system administrator can configure your LAN settings so that help documents can
be accessed from the local help server.
<li>In the Control Panel, open <b>Internet Options</b>, select the <b>Connections</b>
tab and choose <b>LAN Settings</b>.
<li>If your host was configured to use DHCP for IP assignment, make sure
that the &quot;Automatically detect settings&quot; check box is cleared.
<li>If you use a proxy server, ensure that the &quot;Bypass proxy server
for local addresses&quot; is selected.
<li>In &quot;Advanced&quot; settings for proxies, add
&quot;;localhost&quot; to the &quot;Exceptions&quot; if these
addresses are not listed.
<li>If you are using an automatic configuration script for proxy
settings, and are not sure that the script is correct, clear the &quot;Use
automatic configuration script&quot; check box.</li>
<p>If the above steps do not fix your problem, try changing the port and host
properties on the <b>Help &gt; Help Server</b> preference page. In general,
setting <code>host</code> to <code>localhost</code> or <code></code>
should work. Also, especially when running a firewall, you may want to specify
port 80 or some other firewall-friendly value. (bugs <a href="">7036</a>,
<a href="">9418</a>, <a href="">11394</a>)</p>
<h4> Working disconnected from
the network (Windows only)</h4>
If you are experiencing problems when not connected to the network, you must
install the loopback adapter from the Windows installation CD. (bug <a href="">831</a>)
<h4> Using Internet Explorer in
offline mode (Windows only)</h4>
If you have been using Internet Explorer in Offline mode, when you access the
help system you will get a message indicating that the web page you requested is
not available offline or a blank page will display. Click <b>Connect</b> or
deselect &quot;Work Offline&quot; in the Internet Explorer &quot;File&quot; menu
to return the system behavior to normal.
<h4>Help topics not highlighted in High Contrast mode (Windows only)</h4>
<p>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 <a href="">28609</a>)</p>
<h4>Help browser displays a blank page</h4>
<p>If you see a help launched with a blank page, and no errors displayed, it can
be caused by a conflict between libraries in org.eclipse.tomcat plug-in and jars
optionally installed in JRE jre/lib/ext directory. To fix the problem, ensure
that the JRE used for running Eclipse does not contain any J2EE or Apache jars
in the jre/lib/ext directory. (bug <a href="">63970</a>)</p>
<h3>3.1.4 <a name="I-Platform-UI">Platform - UI</a></h3>
<h4>High contrast settings</h4>
<p>Eclipse was tested for High Contrast using 1162 x 864 resolution in Windows
XP High Contrast mode. You can select this mode by selecting Accessibility
Options &gt; Display &gt; Use High Contrast from the Windows XP Control Panel
<h4>File system import loses file permissions (Unix-based platforms)</h4>
<p>Importing files into a project using the <b>Import &gt; File System</b> wizard
strips the execute permission from executable files. (bug <a href="">25387</a>)</p>
<h4>Closing zoomed editors hides other editor areas</h4>
<p>If you split the editor area into two areas, zoom an editor and then close it,
it is possible for that the second area will be covered by the first. This can be worked around by zooming the visible editor and then unzooming it.
(bug <a href="">66974</a>)</p>
<h4>Problems customizing colors and fonts in non-default themes</h4>
<p>If you are using a theme other than the default, a bug prevents you from
customizing fonts and
colors other than those that happen to have been overridden in the theme definition.
There is no such limitation with the default theme. (bug <a href="">67221</a>)</p>
<h4>Problem mixing dynamic and static pages within intro configs</h4>
<p>The Intro support has the concept of dynamic and static pages. Dynamic pages
are described using the intro config XML content and static pages are HTML files
either local or remote. An intro config has the notation of being static or
dynamic, this is determined by the type of home page specified in the intro
presentation. The current implementation only allow dynamic pages to be used
within a dynamic intro and static pages within a static intro, i.e. they are
mutually exclusive.</p>
<p>To workaround this problem when using a dynamic intro, a dynamic page can use
the &lt;html&gt; element with the &quot;type&quot; attribute set to inline. This
will include a static HTML file in the dynamic page (bug <a href="">68490</a>)</p>
<h4> Default text file encoding
may be detected incorrectly (Windows XP/2000 only)</h4>
<p>The &quot;Text file encoding&quot; value displayed in the Preferences
dialog under &quot;Editors&quot; may be wrong on platforms running Windows XP
(or 2000) when the user locale and system locale differ.&nbsp;</p>
<p>Example of the manifestation of the bug: A Japanese user using Japanese
Windows 2000 works in New York, United States. The user has selected English
(United States) as the user locale. The &quot;Text file encoding&quot; value
displayed by Eclipse is incorrect: &quot;Cp1252&quot; (English). It should
display the system locale &quot;MS932&quot; (Japanese).</p>
<p>Workaround: The user can modify the user locale so that user locale and
system locale are identical. In the example above, this means the user should
set Japanese as the user locale. Then restart Eclipse. The &quot;Text file
encoding&quot; value will then be correct: &quot;MS932&quot; (Japanese).</p>
<p>For Windows XP:</p>
<li>To check the system locale: Open the Control Panel. Go to Regional and
Language Options. Switch to the Advanced tab. The system locale is specified
in &quot;Language for non-Unicode programs&quot;.
<li>To change the user locale: Open the Control Panel. Go to Regional and
Language Options. The user locale can be modified by changing the language
in &quot;Standards and formats&quot;.</li>
<p>For Windows 2000:</p>
<li>To check the system locale: Open the Control Panel. Go to Regional
Options. Look up the items in the General tab, inside the &quot;Language
settings for the system&quot; group. The system locale is the item marked as
<li>To change the user locale: Open the Control Panel. Go to Regional
Options. The user locale can be modified by changing the location in
&quot;Settings for the current user&quot;.</li>
<p>(bug <a href="">20641</a>)</p>
<h4> Dirty state not tracked
properly for OLE documents (Windows only)</h4>
<p>The dirty state for an OLE document is not updated properly. This causes
Eclipse to prompt to save the contents of the editor when the document is
closed, even if the contents have already been saved. (bug <a href="">2564</a>)</p>
<h4> OLE document crashes can
cause Eclipse to also crash (Windows only)</h4>
<p>If an OLE document crashes, Eclipse can crash, or the workbench menus can
become inconsistent.</p>
<h3>3.1.5 <a name="I-Platform-Text">Platform - Text</a></h3>
<h4>Problems opening external files</h4>
<p><b>File &gt; Open External File</b> can fail when the editor opened for the external
file (as determined by <b>Workbench &gt; File Associations</b> preferences) cannot not deal with
external files. (bug <a href="">58179</a>)</p>
<h4>Text editors does not show vertical ruler for external files</h4>
<p>A text editor opened on a file external to the workspace does not show a vertical ruler.
So if you set breakpoints in the file, you won't see the breakpoints in the
editor (the breakpoints only show up in the Breakpoints view). (bug <a href="">54900</a>)</p>
<h3>3.1.6 <a name="I-Platform-SWT">Platform - SWT</a></h3>
<h4>Eclipse plug-in based on the SWT Browser throws exception</h4>
<p>The SWT Browser widget uses a platform-specific web browser to render HTML.
The org.eclipse.swt.SWTError exception (&quot;No more handles&quot;) is thrown
on platforms that don't meet the requirements for running the Browser widget.
Supported platforms and prerequisites are listed on the SWT FAQ item <a href="">&quot;Which
platforms are supported by the SWT Browser?&quot;</a>.</p>
<h4>Eclipse crashes on RedHat Linux 9 (GTK+ only)</h4>
<p>Users of the Bluecurve theme shipped with RedHat Linux 9 may experience problems running Eclipse.
These problems may include crashes or reduced performance.
(bugs <a href="">38305</a>, <a href="">67906</a>, <a href="">37683</a>, <a href="">58738</a>)</p>
<p>We recommend changing to a different theme.
Under GNOME, open RedHat Menu > Preferences > Theme. Select a theme other than Bluecurve. All applications should update at this point.
Under KDE, open RedHatMenu > Run Command... And then type in "gnome-theme-manager" and click "Run". Select a theme other than Bluecurve. The selection may jump to "Custom Theme" afterward; this is normal, and happens because the GNOME window manager is not running. All GTK+ applications should update to the new theme at this point.
<h4>Eclipse hangs when pasting from an unresponsive application (GTK only)</h4>
<p>If the application that is supplying the clipboard material is unresponsive,
the paste operation hangs Eclipse for several minutes. This situation can be
encountered when copying from an Eclipse target workbench, suspending the target
workbench at a breakpoint and pasting into the hosting Eclipse workbench. (bug <a href="">44915</a>)</p>
<h4>Drag and drop on Mac (Mac OS X Carbon only)</h4>
<p>The Mac OS X Carbon implementation of SWT does not support dragging from an SWT application to another application. (bug
<a href="">68212</a>)</p>
<h4>Components in SWT_AWT are not displayed (Motif only)</h4>
<p>On Motif systems (verified on Linux and Solaris) problems have been reported
by some developers in the support for embedding AWT widgets within SWT layouts.
These can range from the AWT widgets not being properly displayed to Java VM
crashes. The cause(s) of these problems has not yet been determined. (bug <a href="">68353</a>)</p>
<h4>Can't expand/collapse TableTree item with mouse (GTK only)</h4>
<p>Under certain conditions and on certain versions of GTK, TableTree items,
such as those found in Property Sheets, cannot be expanded or collapsed using
the mouse. The workaround is to use the right and left arrow keys. (bug <a href="">38855</a>)</p>
<h4> Unable to drag data between
applications in simplified Chinese locale (Motif only)</h4>
<p>When configured for the simplified Chinese locale, it is not possible to
drag data between applications running on the Motif window system. This is a
known limitation of the Open Motif library. (bug <a href="">29777</a>)</p>
<h4> Crash when attempting to
launch file browser (AIX Motif only)</h4>
<p>There is a known AIX graphics bug affecting certain levels of AIX
releases. Ensure that the AIX install includes the necessary service updates as
described in the &quot;Install notes/requirements for Eclipse on AIX&quot;
attachment to the Eclipse bug report. (bug <a href="">34524</a>)</p>
<h4> Available colors on 8-bit
Linux (Linux only)</h4>
<p>Typically, in Gnome Linux installs running with 8-bit visuals (i.e. 256
color mode), before the Eclipse application is started there are no free colors.
This may mean that Eclipse is unable to allocate the default widget background
color, causing it to display a white background. The functionality, however, is
otherwise unaffected.</p>
<h4> List and ComboBox on Windows
NT (Windows NT only)</h4>
<p>On Windows NT only, you should avoid creating items in a <code>List</code>
or <code>ComboBox</code> with strings longer than 1000 characters. Doing so may
result in a General Protection Fault. This has been fixed in more recent
versions of Windows.</p>
<h4> Excessive CPU
consumption&nbsp; (Linux GTK only)</h4>
<p>When using Linux GTK 2.2.1, there are some scenarios where the CPU usage
goes to 100% for no good reason. When this occurs, resizing or closing the
dialog seems to return the CPU usage to normal. (bug <a href="">35443</a>)</p>
<h4>IME-related crash (Linux
Motif only)</h4>
<p>When using Linux Motif and GB18030 IME &quot;chinput&quot;, Eclipse can
crash if the IME client window is left open when the parent window is disposed.
(bug <a href="">32045</a>)</p>
<h4> Using IBM J9 VM (Photon and
<p>On QNX Photon and IBM AIX, the SWT library will not be found when running
with an IBM J9 1.5 VM. This is a bug in the IBM J9 class library in version 1.5.
You can workaround this problem by adding the SWT library directory to your
LD_LIBRARY_PATH environment variable.</p>
<h4> Missing permissions for SWT
native libraries in workspace (HP-UX only)</h4>
<p>When retrieving the SWT Motif fragment into an Eclipse workspace, the
permissions of the native libraries are reset. This creates a problem on HP-UX
because shared libraries need to have execute permission. Attempting to
self-host with this fragment throws an UnsatisfiedLinkError...Permission Denied
error. You must manually change the permissions to make these libraries
accessible (assume the workspace is at <code>/workspace</code>):</p>
<p><code>cd /workspace/org.eclipse.swt.motif/os/hpux/PA_RISC<br>
chmod 555 *.sl</code></p>
<p>(bug <a href="">20305</a>
describes a related problem)</p>
<h3>3.1.7 <a name="I-Platform-Team-CVS">Platform - Team - CVS</a></h3>
<p>The following are known problems with the CVS repository provider only, and
do not apply to other repository providers. Additional information on how to use
CVS from Eclipse can be found in the <a href="">Eclipse
CVS FAQ</a>.</p>
<h4> CVS server compatibility</h4>
<p>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 last tested server was 1.11.16). As for the 1.12.X
feature releases of CVS, the Eclipse CVS client has been tested with builds up
to 1.12.8. However, future releases could easily break the Eclipse CVS client.
Basic functionality, such as Checkout, Commit, and Update, should always work,
but there may be problems with more advanced commands such as Synchronizing and
Browsing the repository. (bug <a href="">67627</a>)</p>
<h4>Cached authorization information lost when workspace is upgraded</h4>
<p>The Platform's internal authorization database file location has changed for
3.0. 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
<h4>Issues upgrading from 2.x to 3.0</h4>
<p>In 2.x, CVS used markers to identify outgoing additions and outgoing
deletions. In 3.0, these markers no longer exist because the Synchronize view
can be used to show the same information. If CVS markers exist in a workspace
that is upgraded to 3.0, they can be removed by performing a Project&gt;Clean.
(bug <a href="">40593</a>)</p>
<h4>Issues upgrading from 1.0 to 3.0</h4>
<p>In 1.0, CVS used a .vcm_meta file to store project configuration information.
In 2.0, this file was replaced by the .project file but CVS still read the
.vcm_meta file for backwards compatibilty. In 3.0, the .vcm_meta file is no
longer read by CVS. Users who wish to upgrade from 1.0 to 3.0 must first upgrade
to 2.x and then upgrade to 3.0 if they wich to keep there project configuration
information (e.g. java project). (bug <a href="">43296</a>)</p>
<h4>Connection cannot be found after initially missing</h4>
<p>If a connection initially fails due to a network problem, the connection may
continue to fail even when the network problem is fixed. In order to establish
the connection you must exit and restart Eclipse. (bug <a href="">9295</a>)</p>
<h4>CVS meta-folders appear in some cases</h4>
<p>There are some cases where CVS folders are not hidden from the UI as the user
would expect. For instance, CVS folders will appear if a user imports a CVS
project into Eclipse before the CVS plug-in is loaded. To avoid this, open the
CVS Repositories view (thus loading the CVS plug-in) before importing CVS
projects into Eclipse. (bug <a href="">21128</a>)</p>
<h4>&quot;Received broken pipe signal&quot; error from server</h4>
<p>Eclipse sometimes performs multiple commands within a single connection to
the server. This may cause problems with CVS servers that are running server
scripts in response to certain commands. (bugs <a href="">23575</a>
and <a href="">23581</a>)</p>
<h4>&quot;Terminated with fatal signal 10&quot; error from server</h4>
<p>There is a bug in the CVS server related to some compression levels. If you
get this error, changing the compression level on the CVS preference page may
help. (bug <a href="">15724</a>)</p>
<h4>&quot;Unknown response&quot; error using ext connection method</h4>
<p>There are a few situations that can result in an &quot;Unknown response&quot;
error messages when using the ext connection method. One situation involves
using an external communications client (e.g. rsh or ssh) that adds CRs to the
communications channel (bug <a href="">21180</a>).
Another involves Eclipse not properly reading the stderr output of the external
communications tool. (bug <a href="">11633</a>)</p>
<h4>No way to update folder excluding subfolders</h4>
<p>There is currently no way in Eclipse to run a non-recursive update on a
folder (i.e., there is nothing equivalent to the cvs -l option). (bug <a href="">33210</a>)</p>
<h4>A disabled CVS capability may not be auto-enabled in existing workspaces</h4>
<p>New in 3.0 is the ability to disable capabilities and the CVS support in
Eclipse can be disabled. However, for backwards compatibility the CVS capability
is auto-enabled in existing workspaces that already contain CVS projects. The
auto-enabling function may not run if the team support plugin is not loaded at
startup. (bug <a href="">66977</a>)</p>
<h4>Builder output files may appear as changed</h4>
<p>When folders containing build output are shared they may get improperly
marked as dirty when build output is generated. (bug <a href="">50965</a>)</p>
<h3>3.1.8 <a name="I-Platform-Install-Update">Platform - Install/Update</a></h3>
<h4>Manually installing features and plug-ins on a FAT file system (Windows only)</h4>
<p>When features and plug-ins are manually installed on top of an Eclipse-based
product install located on a FAT file system that has already been run at least
once, the product must be explicitly restarted with the system property
osgi.checkConfiguration set to true. This property can be set in the
eclipse/configuration/config.ini file, or passed to the eclipse command line via
the -vmargs option. For example, restart with the following command: eclipse.exe
-vmargs -Dosgi.checkConfiguration=true. Then, open Help &gt; Software Updates &gt; Manage
Configuration dialog and toggle on the &quot;Show disabled features&quot; button
its toolbar. Select the newly &quot;installed&quot; feature and press on the
&quot;Enable feature&quot; action on the right pane (or select the action from
the feature's context menu). (bugs <a href="">52525</a>,
<a href="">66120</a>, <a href="">67461</a>)</p>
<h4> Non-responsive sites may use
all free threads</h4>
<p>Prior to Eclipse 2.1, if the connection to an update site did not respond
(the site did not exist or was down), the workbench became non-responsive until
the connection request timed out. Since 2.1, connections are made by a separate
thread so that the UI stays responsive. Typically, unresponsive connections
eventually time out and these threads terminate. In rare cases, servers accept
the connection but never send a response, thereby keeping the connection thread
live indefinitely. Update manager limits the number of active connection threads
and will refuse to create more once the limit is reached. To work around the
problem, exit and restart Eclipse. (bugs <a href="">18598</a>,
<a href="">19775</a>)</p>
<h4> URL validity checking on
<p>URL syntax is currently not completely checked on input. Ensure that the
entered URL uses forward&nbsp; slash ('/') separators and does not contain
invalid characters. (bugs <a href="">19685</a>,
<a href="">20247</a>)
<h3>3.1.9 <a name="I-Platform-Debug">Platform - Debug</a></h3>
<p>None. (Known problems with the Java debugger appear below in the <a href="#I-JDT">JDT</a>
<h3>3.1.10 <a name="I-Platform-Compare">Platform - Compare</a></h3>
<h3>3.2 <a name="I-JDT">Java Development Tools (JDT)</a></h3>
<h4>Searching for constant field references</h4>
<p>Search does not find references to constant fields inside binaries because
the Java Language Specification mandates that constant field values be inlined
in the class file's bytecodes, leaving no trace of a field reference.&nbsp;(bug <a href="">12044</a>)</p>
<h4>Developing programs with J2SE 1.5</h4>
<p>The Java tools do not yet fully support J2SE 1.5. You can run or debug programs against
a 1.5 JRE, and safely compile 1.4 programs against 1.5 libraries (the Eclipse compiler tolerates
them with the
exception of covariance scenarios which are forbidden byJava Language Specification (JLS) 2nd edition).
However, the Eclipse Java compiler and IDE are unable to handle source files
containing uses of any of the new Java language features being added in 1.5 (generics, enhanced for loops, static
imports, metadata annotations, varargs), which will be
codified in the forthcoming JLS 3rd edition. An
early preview of the full Eclipse support for J2SE 1.5 developed in parallel
with 3.0, and is available from the <a href="">Cheetah</a>
page.&nbsp;(bug <a href="">36938</a>)</p>
<h4>Missing secondary types in editor</h4>
<p>When referencing a secondary type defined in another compilation unit (i.e., a
top level type whose name does not match its file name), the editor may
incorrectly report it to be missing. The Java compiler handles this case fine.
(bug <a href="">32505</a>)</p>
<h4>Java indexing crash recovery</h4>
<p>The Java indexer analyzes modified Java files in the background. If the indexer
happens to crash (which it can under rare circumstances), it will automatically recover
and rebuild the affected indexes. If this happens, it adds an informative entry
to the .log file to. The rebuilt indexes are fine, and the crash does not impact
subsequent search
operations. (bug <a href="">66836</a>)</p>
<h4>Classpath entry denoting external class folder is now properly rejected</h4>
<p>Although external class folders (i.e., folder containing .class files and located
outside workspace) were never properly supported by the JDT, a problem was never
when constructing such a build path. JDT now properly diagnoses a problem in
this situation. In order to still benefit from external .class files, a
class folder must be mounted as a linked folder in Eclipse workspace (in project
properties, select Java Build Path &gt; Libraries &gt; Add Class Folder &gt; Create
New Folder... &gt; Advanced. Then a folder name can be associated with an
arbitrary file system location by checking &quot;Link to folder on the file
system). Once mounted, the linked class folder can normally be referenced on a
build path, and from there on programs can be compiled against it. (bug <a href="">67631</a>)</p>
<h4>Package Explorer not asking for filter removal</h4>
<p>Show In &gt; Package Explorer normally asks for removal of filters when the
compilation unit to be shown in the Package Explorer is filtered out. However,
this currently is not happening if only a single filter is selected. (bug <a href="">67814</a>)</p>
<h4>Hierarchical layout and inclusion filters</h4>
<p>Packages explicitly included on the build path using inclusion filters will
not be visible in either the Package Explorer or Packages views when the views
are set to hierarchical layout mode. Use the flat layout mode when using inclusion
filters. (bug <a href="">65240</a>)</p>
<h4>Problems after moving a compilation unit</h4>
<p>Moving a compilation unit can cause an editor open on that file to behave
strangely. Closing and re-opening the editor fixes the problem. (bug <a href="">67046</a>)</p>
<h4>Stale spell check errors</h4>
<p>Adding a new word to the spell checking dictionary does not correct the
corresponding spelling errors. The spelling errors do go away the next time you
change the file's content. (bug <a href="">68282</a>)</p>
<h4> Javadoc hover in the Java
<p>The Javadoc hover help shown when hovering over identifiers in the Java
editor does not handle links inside of Javadoc comments properly. (bug <a href="">20644</a>)</p>
<h4> Cut, copy, paste not working
for linked resources in views showing Java elements</h4>
<p>The cut, copy, and paste actions do not work for linked files and folders
appearing in views that show Java elements, including the Package Explorer. The
workaround is to use these actions from the Navigator view instead. (bug <a href="">34568</a>)</p>
<h4> Java working sets not
working correctly for elements from JRE system library container</h4>
<p>Appling a working set consisting entirely of elements from the JRE System
library container as a filter to the packages view might result in an empty
Package Explorer. (bug <a href="">35395</a>)</p>
<h4> Cannot generate Javadoc for
packages with GB18030 characters in the name</h4>
<p>Most class libraries do not properly support the creation of a system
process (via <code>java.lang.Runtime.exec(...)</code>) when the specified
command line contains GB18030 characters. Since Javadoc is created using the
Javadoc executable provided with the JDK, generating Javadoc fails if the
package or class name contains GB18030 characters. (bug <a href="">32215</a>)</p>
<h4>Side effects of Step into Selection and Run to Line</h4>
<p>The actions &quot;Step into Selection&quot; and &quot;Run to Line&quot;
optimistically set breakpoints on the line the user has chosen to step into or
run to. However, the debugger can not determine if or when execution will ever
reach the chosen line. The breakpoints set by the underlying implementation are
not visible to the user and can cause execution to suspend unexpectedly at a
later time, when the associated line is actually executed. (bug <a href="">51507</a>)</p>
<h4>Default locale initialization incorrect</h4>
<p>The default locale is generally initialized from the settings in the
operating system when a target VM is launched. However, when using javaw.exe on
JDK1.4.2, Windows XP, the default locale is incorrectly initialized to en_US, no
matter what the operating system settings are. (bug <a href="">65945</a>)</p>
<h4>Suspend on uncaught exception overrides exception breakpoint location filters</h4>
<p>Exception breakpoints can be configured with location filters (inclusive and
exclusive). When an unchecked exception is configured to <b>not</b> suspend
execution in a specific class, execution will still suspend when the user
preference to suspend on uncaught exceptions is on. (bug <a href="">66770</a>)</p>
<h4>Multiple references to the same object do not update in Variables view</h4>
<p>When more than one variable references the same object in the Variables view,
only one variable will update while stepping through source code. (bug <a href="">58768</a>)</p>
<h4> Running Java programs with
non-Latin-1 characters in package or class names</h4>
You get a <code>java.lang.NoClassDefFoundError</code> when running Java
programs with non-Latin characters in the package or class names. The workaround
is to package the class files as a JAR file and run the program out of the JAR
and not from the file system directly. (bug <a href="">4181</a>)
<h4>Cannot run or debug class in
a project with GB18030 characters in project name</h4>
<p>Most class libraries do not properly support the creation of a system
process (via <code>java.lang.Runtime.exec(...)</code>) when the specified
command line contains GB18030 characters. This limitation means the debugger
cannot launch applications when the command line it generates contains GB18030
characters. (bug <a href="">32206</a>)</p>
<p>Cannot detect installed JRE with GB18030 characters in path name</p>
<p>Automatic JRE detection fails when the JRE is stored in a directory
containing GB18030 characters in its name. (bug <a href="">33844</a>)</p>
<h4> Unable to debug stack
<p>If a debug session suspends on a <code>java.lang.StackOverflowError</code>
exception (due to an exception breakpoint), the debugger may not be able to
retrieve any debug information from the target JVM. As well, the debugger may
not be able to reliably interact with the target JVM past this point. (bug <a href="">19217</a>)</p>
<h4> Evaluation limitation</h4>
<p>The debugger uses threads in the target JVM to perform evaluations (both
explicit evaluations that the user requests, and implicit evaluations such as <code>toString()</code>
invocations in the <b>Variables</b> view). The Java Debug Interface (JDI)
requires that the thread in which an evaluation is performed be suspended by a
user event (that is, a breakpoint or step request). Evaluations cannot be
performed on threads suspended by the suspend action. As well, when a breakpoint
is configured to suspend the JVM rather than just the individual thread, the
threads which did not encounter the breakpoint are not in a valid state to
perform an evaluation. When an evaluation is attempted in a thread that is not
in a valid state to perform an evaluation, an error message will appear to the
effect of &quot;Thread must be suspended by step or breakpoint to perform method
invocation&quot;. (bug <a href="">34440</a>)</p>
<h4> Missing debug attributes</h4>
The debugger requires that class files be compiled with debug attributes if
it is to be able to display line numbers and local variables. Quite often, class
libraries (for example, &quot;<code>rt.jar</code>&quot;) are compiled without
complete debug attributes, and thus local variables and method arguments for
those classes are not visible in the debugger.
<h4> Using Hot Code Replace</h4>
<p>Hot code replace is supported on JDK 1.4.x VMs, and IBM J9 VMs. The debugger
will attempt to replace all class files that change in the workspace as the user
edits and builds source code. However, hot code replace is limited to changes
that a particular virtual machine implementation supports. For example, changes
within existing methods may be supported, but the addition or removal of members
may not be.</p>
<p>Note that hot code replace and stepping on JDK 1.4.0 VMs was unreliable. The
underlying VM problems were fixed in JDK 1.4.1, and later.</p>
<h4> Scrapbook</h4>
Setting a breakpoint inside a scrapbook page is not supported.
<p>When a snippet is run in the scrapbook which directly or indirectly calls <code>System.exit(int)</code>,
the evaluation cannot be completed, and will result in a stack trace for a <code>com.sun.jdi.VMDisconnectedException</code>
being displayed in the scrapbook editor.
<p>Terminating a scrapbook page while it is performing an evaluation results
in a <code>com.sun.jdi.VMDisconnectedException</code> being displayed in the
scrapbook editor.
<h4> Debugging over slow
A global Java debug preference specifies the debugger timeout, which is the
maximum amount of time the debugger waits for a response from the target VM
after making a request of that VM. Slow connections may require that this value
be increased. The timeout value can be edited from the <b>Java &gt; Debug </b>preference
page. Changing the timeout value only effects subsequently launched VM, not VMs
that are already running.
<h4> Updating of inspected values</h4>
When inspecting the result of an evaluated expression in the debugger, it is
important to note that the result displayed is the result of that expression at
the time it was evaluated. For example, when inspecting a simple integer counter
(primitive data type), the value displayed in the Expressions view is the value
when the expression was evaluated. As the counter is changed in the running
program, the inspected result will not change (since the view is not displaying
the value bound to a variable - it is displaying the value of an expression, and
the value of a primitive data type cannot change). However, if an expression
results in an object, fields of that object will be updated in the inspector as
they change in the running program (since the value bound to fields in an object
can change).
<h4> Stepping over native methods
that perform I/O</h4>
When the debugger steps over native methods that perform I/O to <code>System.out</code>
or <code>System.err</code>, the output may not appear immediately unless the
native performs a flush on the output buffer.
<h4> VM and process termination
running on IBM 1.3 JVM on Linux (Linux only)</h4>
Terminating a launch, debug target, or system process associated with a debug
target running on the IBM 1.3 JVM on the Linux platform does not work when the
associated debug target has a suspended thread. To remove such debug targets
from the debug UI, select <b>Terminate and Remove</b> from the debug view's
pop-up menu (or use the shortcut &quot;delete&quot; key). Associated system
processes in the OS may not be properly cleaned up. If a debug target has no
suspended threads, termination works properly. (bug <a href="">1631</a>)
<h3>3.3 <a name="I-PDE">Plug-in Development Environment (PDE)</a></h3>
<h4>Feature manifest editor does not preserve all comments</h4>
<p>When a non-source page of the feature manifest editor is used, PDE will convert
changes back into XML by regenerating the file. Although the overall content and
most of the comments are preserved, some comments may be lost. (bug <a href="">59502</a>)</p>
<h4>Paste does not work in table viewers of the plug-in manifest editor</h4>
<p>When you copy an item in one of the table viewers on the Dependencies,
Extensions or Extension Points pages of the plug-in manifest editor, you will
not be able to paste it. For copy and paste operations, use the source page of
the editor. (bug <a href="">67582</a>)</p>
<h4>PDE will not unzip source zips of some plug-ins</h4>
<p>In the plug-in import wizard, when you choose to import plug-ins as
&quot;projects with source folders&quot;, PDE will not unzip the source for the
org.apache.ant, org.eclipse.osgi.util and This is
because the source ZIPs contains code that will not compile when unzipped as it
requires additional JARs that are not part of the SDK. To avoid the creation of
plug-in projects that won't compile, PDE will import these plug-ins as binary
and attach source, so you would still be able to read the source, you just won't
be able to modify it. Also, PDE will not unzip the source for the
org.eclipse.swt plug-ins. In this case, it is because, when shipped, the swt
code is spread across a plug-in and a fragment, and when unzipped, it will
require circular dependencies between the plug-in and fragment projects. These
circular dependencies are at minimum marked as warnings by the JDT compiler and
may result in unpredictable build behavior. Therefore, PDE always imports
org.elipse.swt as binary with source attached. (bug <a href="">66314</a>)</p>
<h4>Search for an extension point reference may include a false hit</h4>
<p>It is possible for an extension point search result to include a false hit in
the following specific scenario. If you open the plug-in manifest editor on a
plug-in that contains both a plugin.xml and, go to the Extension
Points page, select one of the extension points and click on 'Find references',
the result may include a false hit. The false hit would result only if another
plug-in in the product had declared an extension point by the same id.
Workaround in this case would be to perform the search through the Plug-in
search page. (bug <a href="">62177</a>)</p>
<h4> PDE source page colors do
not take effect on Apply</h4>
<p>Changes to the colors PDE uses for source pages of its multi-page editors
are not immediately visible in opened editors after pressing the Apply button
on&nbsp; the <b>Plug-in Development &gt; Editors preference</b> page. To work
around this problem, close the editor and and reopen it. (bug <a href="">33640</a>)</p>
<h4> Emacs key bindings do not
work in manifest editor fields</h4>
<p>Non-default key bindings currently do not work in fields on non-source
pages of the PDE manifest editors. (bug <a href="">19482</a>)</p>
<h4> Plug-in import wizard does
not allow plug-ins of different versions to be imported</h4>
<p>The Eclipse platform allows two plug-ins with the same ID but different
versions to coexist if the only thing they contribute is run-time libraries.
However, PDE cannot handle these plug-ins because it creates project names using
plug-in IDs during binary project import. (bug <a href="">18500</a>)</p>
<h2>4. <a name="Running Eclipse">Running Eclipse</a></h2>
<p>After installing the Eclipse SDK in a directory, you can start the Workbench
by running the Eclipse executable included with the release (you also need a 1.4
JRE, not included with the Eclipse SDK). On Windows, the executable file is called <samp>eclipse.exe</samp>,
and is located in the <code>eclipse</code> subdirectory of the install. If
installed at <code>c:\eclipse-SDK-3.0-win32</code>, the executable is <code>c:\eclipse-SDK-3.0-win32\eclipse\eclipse.exe</code>.
<b>Note:</b> Set-up on most other operating environments is analogous. Special
instructions for Mac OS X are listed below.</p>
<p>Depending on the JRE that you are running, the number of plug-ins you are using, and
the number of files you will be working with, you may have to increase the amount of memory that
is available to the Java VM running Eclipse. Eclipse allows you to pass arguments directly to the
Java VM using the
<code>-vmargs</code> command line argument, which must follow all other Eclipse specific arguments.
To increase the available memory, you would typically use:</p>
<p><code>eclipse -vmargs -Xmx&lt;memory size&gt;</code></p>
<p>The <code>&lt;memory size&gt;</code> value should typically be at least
&quot;128M&quot; (128 megabytes).
Usually, &quot;256M&quot; (256 megabytes) is ample. You should
not set this value to be larger than the amount of physical memory on your machine.</p>
<p>When the Workbench is launched, the first thing you see is a
dialog that allows you to select where the workspace will be located. The
workspace is the directory where your work will be stored.
If you do not specify otherwise, Eclipse creates the workspace
as a sibling of the executable (that is, at <code>c:\eclipse-SDK-3.0-win32\eclipse\workspace</code>).
This workspace directory is used as the default content area for your projects
as well as for holding any required metadata. For shared or multi-workspace
installs you must explicitly specify the location for your workspace using the
dialog (or via the &quot;<code>-data</code>&quot; command line argument).</p>
<p>Here is a typical Eclipse command line:&nbsp;</p>
<p><code>eclipse -vm c:\jdk1.4.2\jre\bin\javaw -vmargs -Xmx256M</code></p>
<p><i>Tip:</i> It's generally a good idea to explicitly specify which Java VM to
use when running Eclipse. This is achieved with the &quot;<code>-vm</code>&quot;
command line argument as illustrated above. If you don't use &quot;<code>-vm</code>&quot;,
Eclipse will look on the O/S path. When you install other Java-based products,
they may change your path and could result in a different Java VM being used
when you next launch Eclipse.</p>
<p>To create a Windows shortcut to an installed Eclipse:</p>
<li>Navigate to <code>eclipse.exe</code> in Windows Explorer and use Create
Shortcut on the content menu.
<li>Select the shortcut and edit its Properties. In the Target: field append
the command
line arguments.
<p>Opening this shortcut launches Eclipse. (You can
drag the shortcut to the Windows Desktop if you want to keep it in easy reach.)</p>
<h3>Mac OS X</h3>
<p>On Mac OS X, you start Eclipse by double clicking the Eclipse application. If you need to pass arguments to Eclipse, you'll have to edit the <code>Info.plist</code> file
inside the Eclipse application bundle: select the Eclipse application bundle icon while holding down the Control Key.
This will present you with a popup menu. Select &quot;Show Package Contents&quot; in the popup menu.
Locate <code>Info.plist</code> file in the <code>Contents</code> subfolder and open it with your favorite text editor.
Add to, remove from or edit the command line options listed at the end of the file for the &quot;Eclipse&quot; key.</p>
<p>If you need to launch Eclipse from the command line, you can use the symbolic link &quot;eclipse&quot; in the
top-level eclipse folder. It refers to the eclipse executable inside the application bundle and takes
the same arguments as &quot;eclipse.exe&quot; on other platforms. Due to a platform limitation you cannot
pass an arbitrary Java VM to the &quot;<code>-vm</code>&quot; option, but must use the program &quot;<code>java_swt</code>&quot; found inside
the application bundle; for example:</p>
<pre> cd <i>&lt;eclipse directory&gt;</i>
./eclipse -vm
<h2>5. <a name="Upgrading"></a>Upgrading Workspace from a Previous Release</h2>
<h3>Users who don't use &quot;-data&quot;</h3>
<p>If you weren't previously using &quot;-data&quot; to specify your workspace,
follow these steps to upgrade:
<li>Find the workspace directory used by your old version of Eclipse.
Typically this is located inside the directory in which Eclipse was
installed in a subdirectory called &quot;<code>workspace</code>&quot;. 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 &quot;workspace&quot;. For Windows users, this is specified by the
&quot;Start in:&quot; argument in your shortcut properties.</li>
<li>Copy this workspace directory to a new, empty location outside of any
Eclipse install directory.</li>
<li>Install the new version of Eclipse in a new location, separate from any
old version of Eclipse.</li>
<li>If you had installed additional features and plug-ins into your old
Eclipse, you should re-install them in the new Eclipse.</li>
<li>Start this new version of Eclipse and select
this location using the workspace chooser dialog at startup (or use &quot;<code>-data</code>&quot;
command line argument to pre-select the workspace location).</li>
<h3>Users who do use &quot;-data&quot;</h3>
<p>If you were previously using the &quot;<code>-data</code>&quot; argument to
start Eclipse, your upgrade path is much easier:
<li>Optionally copy your workspace directory to a new, empty location outside of any
Eclipse install directory as a backup.</li>
<li>Install the new version of Eclipse in a new location, separate from any
old versions of Eclipse.</li>
<li>If you had installed additional features and plug-ins into your old
Eclipse, you should re-install them in the new Eclipse.</li>
<li>Start this new version of Eclipse and select this location using the workspace chooser dialog at
startup (or use &quot;<code>-data</code>&quot;
command line argument to pre-select the workspace location).</li>
<p><i>Note:</i> Copying your workspace is recommended because,
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 &quot;back in
time&quot; to an earlier release, you will need that backup.</p>
<h2>6. <a name="Interoperability with Previous Releases">Interoperability with
Previous Releases</a></h2>
<h3>6.1 Interoperability of Release 3.0 and 2.1</h3>
<h4>Sharing projects between heterogeneous Eclipse 3.0 and 2.1</h4>
<p>Special care is required when a project in a team repository is being loaded
and operated on by developers using Eclipse-based products based on different
feature or plug-in versions. The general problem is that the existence,
contents, and interpretation of metadata files in the workspaces may be specific
to a particular feature or plug-in version, and differ between versions. The
workspace compatibility guarantees only cover cases where all developers upgrade
their Eclipse workspaces in lock step. In those cases there should be no problem
with shared metadata. However, when some developers are working in Eclipse 3.0
while others are working in Eclipse 2.1, there are no such guarantees.
This section provides advice for what to do and to not do. It addresses the
specific issues with the Eclipse SDK.</p>
<p>The typical failure mode is noticed by the 3.0 user. 3.0 metadata is lost
when a 2.1 user saves changes and then commits the updated metadata files to the
repository. Here's how things typically go awry:</p>
<li>A user working in Eclipse 3.0 creates or modifies a project in a way that
results in changes to a shared metadata file that rely on 3.0-specific
information. The user then commits the updated project files, including the
shared metadata file, to the shared repository.</li>
<li>Another user working in Eclipse 2.1 shares this project from the same
repository. The 3.0-specific information in the shared metadata file is not
understood by Eclipse 2.1, and is generally discarded or ignored without
warning. The user modifies the project in a way that results in changes to
the shared metadata file, causing the shared metadata file to be rewritten
without any of the 3.0-specific information. The user commits the updated
project files, including the shared metadata file, to the shared repository.
The user is generally unaware that shared information has just been lost as
a result of their actions.</li>
<li>A user working in Eclipse 3.0 picks up the changes to a project from the
shared repository, including the updated shared metadata file. The user may
be unaware that they have just taken a retrograde step until later when
things start to malfunction.</li>
<p>Here are a list of things to watch out for when the project is to be shared
between users of Eclipses 3.0 and 2.1:</p>
<li><b>External tool (Ant) builders</b><br>
Information about external tool builder is recorded in the project's <code>.project</code>
file. The format of the information changed between 2.1 and 3.0. Builders
created or changed in 3.0 use the new format, which is not understood by a
2.1 workspace. Builders created in 2.1 use the old format and continue to
work in 2.1. Builders from a 2.1 workspace can be viewed in a 3.0 workspace
in read-only mode. Recommendation: Always create or edit external tools
builders from a 2.1 workspace.</li>
<li> <b>Optional inclusion patterns on Java source entries on the build class path</b><br>
This support was added in 3.0. This information is recorded in the project's
<code>.classpath</code> file. Recommendation: do not specify inclusion patterns.&nbsp; Better still, disable
exclusion patterns via the<b> Java
&gt; Compiler &gt; Build Path</b>&nbsp; preference page.</li>
<h4>Using Eclipse 3.0 to develop plug-ins that work in Eclipse 2.1</h4>
<p>It is also possible (and reasonable) to use Eclipse 3.0 to develop a plug-in
intended to work in Eclipse 2.1. Use the <b>Plug-in Development &gt; Target
Platform </b>preference page to locate non-workspace plug-ins in an 2.1 Eclipse
install. This ensures that the code for your plug-in is being compiled and
tested against Eclipse 2.1 APIs, extension points, and plug-ins. (The above list
of concerns do not apply since they affect the layout and interpretation of
files in the plug-in <i>project</i> but none affect the actual deployed form of
the plug-in.)</p>
<p>Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc.
in the United States, other countries, or both.</p>
<p>IBM is a trademark of International Business Machines Corporation in the
United States, other countries, or both.</p>
<p>Microsoft, Windows, Windows NT, and the Windows logo are trademarks of
Microsoft Corporation in the United States, other countries, or both.</p>
<p>Apple and Mac OS are trademarks of Apple Computer, Inc., registered in the
U.S. and other countries.</p>
<p>QNX, Neutrino, and Photon are trademarks or registered trademarks of QNX
Software Systems Ltd.</p>
<p>Other company, product, and service names may be trademarks or service marks
of others.</p>
<p>(c) Copyright IBM Corp. and others 2004</p>