1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
2<html>
3
4<head>
5<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
6<title>Eclipse Project Release Notes 3.4</title>
7</head>
8
9<body>
10
11<h1>Eclipse Project Release Notes</h1>
12<p>Release 3.4.0<br>
13  Last revised June 10, 2008</p>
14<p align="left"><strong>This software is OSI Certified Open Source Software.<br>
15OSI Certified is a certification mark of the Open Source Initiative.&nbsp;</strong></p>
16<blockquote>
17  <p align="left"><a href="#TargetOperatingEnvironments">1. Target Operating
18  Environments</a><br>
19  <a href="#Compatibility">2. Compatibility with Previous
20  Releases</a><br>
21  <a href="#Known Issues">3. Known Issues</a><br>
22  <a href="#Running Eclipse">4. Running Eclipse</a><br>
23  <a href="#Upgrading">5. Upgrading a Workspace from a Previous Release</a><br>
24  <a href="#Interoperability with Previous Releases">6. Interoperability with
25  Previous Releases</a><br>
26  </p>
27</blockquote>
28
29<h2>1. <a name="TargetOperatingEnvironments"></a>Target Operating Environments</h2>
30<p>In order to remain current, each Eclipse release targets reasonably current
31  operating environments. </p>
32<p>Most of the Eclipse SDK is &quot;pure&quot; Java code and has no direct dependence
33  on the underlying operating system. The chief dependence is therefore on the
34  Java Platform itself. Portions of the Eclipse SDK (including the RCP base,
35  SWT, OSGi and JDT core plug-ins) are targeted to specific classes of operating
36  environments, requiring their source code to only reference facilities available
37  in particular class libraries (e.g. J2ME Foundation 1.0, J2SE 1.3 and 1.4,
38  etc.). </p>
39<p> In general, the 3.4 release of the Eclipse Project is developed on a mix
40  of Java 1.4 and Java5 VMs. As such, the Eclipse Project SDK as a whole is targeted
41  at both 1.4 and Java5 VMs, with full functionality available for 1.4 level
42  development everywhere, and new Java5 specific capabilities available when
43  running on a Java5 VM. Similarly, in cases where support has been added for
44  Java6 specific features (e.g. JSR-199, JSR-269, etc.) Java6 VMs are required. </p>
45<p> <a href="#Appendix1">Appendix 1</a> contains a table that indicates the class
46  library level required for each plug-in. </p>
47<p>There are many different implementations of the Java Platform running atop
48  a variety of operating systems. We focus Eclipse SDK testing on a handful of
49  popular combinations of operating system and Java Platform; these are our <em>reference
50  platforms</em>. Eclipse undoubtedly runs fine in many operating environments
51  beyond the reference platforms we test, including those using Java6 VMs. However,
52  since we do not systematically test them we cannot vouch for them. Problems
53  encountered when running Eclipse on a non-reference platform that cannot be
54  recreated on any reference platform will be given lower priority than problems
55  with running Eclipse on a reference platform.</p>
56<p> The Eclipse SDK 3.4 is tested and validated on the following reference platforms</p>
57<center>
58  <table border="1" cellpadding="2" cellspacing="2" width="80%" summary="Eclipse Reference Platforms">
59    <tbody>
60      <tr align="center">
61        <td><b>Reference Platforms</b></td>
62      </tr>
63      <tr>
64        <td><b>Microsoft Windows Vista, x86-32, Win32</b> running (any of):
65          <ul>
66            <li>Sun Java 2 Standard Edition 5.0 Update 14 for Microsoft Windows</li>
67            <li>IBM 32-bit SDK for Windows, Java 2 Technology Edition 5.0, SR6b</li>
68            <li>BEA JRockit 27.4.0, for Microsoft Windows</li>
69          </ul></td>
70      </tr>
71      <tr>
72        <td><b>Microsoft Windows XP, x86-32, Win32</b> running (any of):
73          <ul>
74            <li>Sun Java 2 Standard Edition 6.0 Update 4 for Microsoft Windows</li>
75            <li>Sun Java 2 Standard Edition 5.0 Update 14 for Microsoft Windows</li>
76            <li>IBM 32-bit SDK for Windows, Java 2 Technology Edition 5.0, SR6b</li>
77            <li>BEA JRockit 27.4.0, for Microsoft Windows</li>
78            <li>Sun Java 2 Standard Edition 1.4.2_16 for Microsoft Windows</li>
79            <li>IBM 32-bit SDK for Windows, Java 2 Technology Edition 1.4.2 SR10</li>
80          </ul></td>
81      </tr>
82      <tr>
83        <td><b>Red Hat Enterprise Linux 5.0, x86-32, GTK</b> running (any of):
84          <ul>
85            <li>Sun Java 2 Standard Edition 5.0 Update 14 for Linux x86</li>
86            <li>IBM 32-bit SDK for Linux on Intel architecture, Java 2 Technology Edition 5.0, SR6b</li>
87            <li>BEA JRockit 27.4.0, for Linux x86</li>
88            <li>Sun Java 2 Standard Edition 1.4.2_16 for Linux x86</li>
89            <li>IBM 32-bit SDK for Linux on Intel architecture, Java 2 Technology Edition 1.4.2 SR10</li>
90          </ul></td>
91      </tr>
92      <tr>
93        <td><b>SUSE Linux Enterprise Server 10, x86-32, GTK</b> running (any
94          of):
95          <ul>
96            <li>Sun Java 2 Standard Edition 5.0 Update 14 for Linux x86</li>
97            <li>IBM 32-bit SDK for Linux on Intel architecture, Java 2 Technology Edition 5.0, SR6b</li>
98          </ul></td>
99      </tr>
100      <tr>
101        <td><b>Microsoft Windows Vista, x86-64, Win32</b> running (any of):
102          <ul>
103            <li>Sun Java 2 Standard Edition 5.0 Update 14 for Microsoft Windows (AMD64/EM64T)</li>
104            <li>IBM 64-bit SDK for Windows, Java 2 Technology Edition 5.0, SR6b</li>
105          </ul></td>
106      </tr>
107      <tr>
108        <td><b>Microsoft Windows XP Professional x64 Edition, x86-64, Win32</b> running (any of):
109          <ul>
110            <li>Sun Java 2 Standard Edition 5.0 Update 14 for Microsoft Windows (AMD64/EM64T)</li>
111            <li>IBM 64-bit SDK for Windows, Java 2 Technology Edition 5.0, SR6b</li>
112          </ul></td>
113      </tr>
114      <tr>
115        <td><b>Red Hat Enterprise Linux 4.0 update 2, x86-64, GTK</b> running:
116          <ul>
117            <li>Sun Java 2 Standard Edition 5.0 Update 14 for Linux x86_64</li>
118          </ul></td>
119      </tr>
120      <tr>
121        <td><b>Sun Solaris 10, SPARC, GTK</b> running:
122          <ul>
123            <li>Sun Java 2 Standard Edition 5.0 Update 14 for Solaris SPARC</li>
124          </ul></td>
125      </tr>
126      <tr>
127        <td><b>HP-UX 11i v2, ia64, Motif 2.1, GTK</b> running:
128          <ul>
129            <li>HP-UX Java 2 Standard Edition 5.0 Update 7 for Itanium</li>
130          </ul></td>
131      </tr>
132      <tr>
133        <td><b>IBM AIX 5.3, Power, Motif 2.1</b> running:
134          <ul>
135            <li>IBM 32-bit SDK, Java 2 Technology Edition 5.0, SR6b</li>
136          </ul></td>
137      </tr>
138      <tr>
139        <td><b>Red Hat Enterprise Linux 5.0, Power, GTK</b> running:
140          <ul>
141            <li>IBM 32-bit SDK for Linux on pSeries architecture, Java 2 Technology Edition 5.0, SR6b</li>
142          </ul></td>
143      </tr>
144      <tr>
145        <td><b>SUSE Linux Enterprise Server 10, Power, GTK</b> running:
146          <ul>
147            <li>IBM 32-bit SDK for Linux on pSeries architecture, Java 2 Technology Edition 5.0, SR6b</li>
148          </ul></td>
149      </tr>
150      <tr>
151        <td><b>Apple Mac OS X 10.5, Universal, Carbon</b> running:
152          <ul>
153            <li>Apple Java 2 Platform Standard Edition (J2SE) 5, service release 4</li>
154          </ul></td>
155      </tr>
156    </tbody>
157  </table>
158</center>
159<p>Because Java 1.4.2 and Java5 based platforms are used for most Eclipse development,
160  those platforms are listed here. Although there are teams doing some Java 6
161  based development we have not included specific Java6 VMs, since they have
162  not yet received the general level of testing we require. <i>We expect that
163  Eclipse will work fine on other current Java VMs running on window systems
164  supported by SWT, but can not flag these as reference platforms without significant
165  community support for testing them.</i></p>
166<p>Similarly, although untested, the Eclipse SDK should work fine on other OSes
167  that support the same window system. For Win32: NT, 2000, and Server 2003;
168  SWT HTML viewer requires Internet Explorer 5 (or higher). For GTK on other
169  Linux systems: version 2.2.1 of the GTK+ widget toolkit and associated libraries
170  (GLib, Pango); SWT HTML viewer requires Mozilla 1.4GTK2. For Motif on Linux
171  systems: Open Motif 2.1 (included); SWT HTML viewer requires Mozilla 1.4GTK2.</p>
172<p>SWT is also supported on the QNX Neutrino operating system, x86 processor,
173  Photon window system, and <a href="http://wiki.eclipse.org/J9">IBM J9&trade; VM</a>.
174  Eclipse 3.4 on Windows or Linux can be used to cross-develop QNX applications.
175  (Eclipse 3.4 is unavailable on QNX because there is currently no 1.5 J2SE for
176  QNX.)</p>
177<h4>Internationalization</h4>
178<p>The Eclipse SDK is designed as the basis for internationalized products. The
179  user interface elements provided by the Eclipse SDK components, including dialogs
180  and error messages, are externalized. The English strings are provided as the
181  default resource bundles.</p>
182<p>Latin-1 and DBCS locales are supported by the Eclipse SDK on all reference platforms;
183  BIDI locales are supported by the Eclipse SDK everywhere but on Motif.</p>
184<p>The Eclipse SDK supports GB 18030 (level 1), the Chinese code page standard,
185  on Windows XP and 2000, Linux/GTK and the Macintosh.</p>
186<p>German and Japanese locales are tested.</p>
187
188<h2>2. <a name="Compatibility"></a>Compatibility with Previous Releases</h2>
189<h3>Compatibility of Release 3.4 with 3.3</h3>
190<p>Eclipse 3.4 is compatible with Eclipse 3.3 (and, hence, with 3.2, 3.1
191  and 3.0).</p>
192<p> <strong>API Contract Compatibility:</strong> Eclipse SDK 3.4 is upwards
193  contract-compatible with Eclipse SDK 3.3 except in those areas noted in the <a href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/org.eclipse.platform.doc.isv/porting/eclipse_3_4_porting_guide.html" target="_top"> <em>Eclipse
194  3.4 Plug-in Migration Guide</em></a>. Programs that use affected APIs and extension
195  points need to be ported to Eclipse SDK 3.4 APIs. Downward contract compatibility
196  is not supported. There is no guarantee that compliance with Eclipse SDK 3.4
197  APIs would ensure compliance with Eclipse SDK 3.3 APIs. Refer to <a href="http://wiki.eclipse.org/index.php/Evolving_Java-based_APIs"> <em>Evolving
198  Java-based APIs</em> </a> for a discussion of the kinds of API changes that
199  maintain contract compatibility. </p>
200<p><strong>Binary (plug-in) Compatibility:</strong> Eclipse SDK 3.4 is upwards
201  binary-compatible with Eclipse SDK 3.3 except in those areas noted in the <a href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/org.eclipse.platform.doc.isv/porting/eclipse_3_4_porting_guide.html" target="_top"> <em>Eclipse
202  3.4 Plug-in Migration Guide</em></a>. Downward plug-in compatibility is not
203  supported. Plug-ins for Eclipse SDK 3.4 are not usable in Eclipse SDK 3.3.
204  Refer to <a href="http://wiki.eclipse.org/index.php/Evolving_Java-based_APIs"> <em>Evolving
205  Java-based APIs</em> </a> for a discussion of the kinds of API changes that
206  maintain binary compatibility. </p>
207<p><strong>Source Compatibility:</strong> Eclipse SDK 3.4 is upwards source-compatible
208  with Eclipse SDK 3.3 except in the areas noted in the <a href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/org.eclipse.platform.doc.isv/porting/eclipse_3_4_porting_guide.html" target="_top"> <em>Eclipse
209  3.4 Plug-in Migration Guide</em></a>. This means that source files written
210  to use Eclipse SDK 3.3 APIs might successfully compile and run against Eclipse
211  SDK 3.4 APIs, although this is not guaranteed. Downward source compatibility
212  is not supported. If source files use new Eclipse SDK APIs, they will not be
213  usable with an earlier version of the Eclipse SDK. </p>
214<p><strong>Workspace Compatibility:</strong> Eclipse SDK 3.4 is upwards
215  workspace-compatible with Eclipse SDK 3.3 unless noted. This means that workspaces
216  and projects created with Eclipse SDK 3.3, 3.2, 3.1 or 3.0 can be successfully
217  opened by Eclipse SDK 3.4 and upgraded to a 3.4 workspace. This includes both
218  hidden metadata, which is localized to a particular workspace, as well as metadata
219  files found within a workspace project (e.g., the .project file), which may
220  propagate between workspaces via file copying or team repositories. Individual
221  plug-ins developed for Eclipse SDK 3.4 should provide similar upwards compatibility
222  for their hidden and visible workspace metadata created by earlier versions;
223  3.4 plug-in developers are responsible for ensuring that their plug-ins recognize
224  3.3, 3.2, 3.1, 3.0, 2.1, and 2.0 metadata and process it appropriately. User
225  interface session state may be discarded when a workspace is upgraded. Downward
226  workspace compatibility is not supported. A workspace created (or opened) by
227  a product based on Eclipse 3.4 will be unusable with a product based an earlier
228  version of Eclipse. Visible metadata files created (or overwritten) by Eclipse
229  3.4 will generally be unusable with earlier versions of Eclipse. </p>
230<p><strong>Non-compliant usage of API's</strong>: All non-API methods and classes,
231  and certainly everything in a package with &quot;internal&quot; in its name,
232  are considered implementation details which may vary between operating environment
233  and are subject to change without notice. Client plug-ins that directly depend
234  on anything other than what is specified in the Eclipse SDK API are inherently
235  unsupportable and receive no guarantees about compatibility within a single
236  release much less with earlier releases. Refer to <a href="http://www.eclipse.org/articles/Article-API%20use/eclipse-api-usage-rules.html"> <em>How
237  to Use the Eclipse API</em> </a> for information about how to write compliant
238  plug-ins. </p>
239
240<h2>3. <a name="Known Issues"></a> Known Issues</h2>
241<blockquote>
242  <a href="I-General">
243  3.1 General problems</a><br>
244  &nbsp;&nbsp;&nbsp;&nbsp; <a href="#I-General-Startup">3.1.1 Startup</a><br>
245  &nbsp;&nbsp;&nbsp;&nbsp; <a href="#I-General-GCJ">3.1.2 GCJ</a><br>
246  &nbsp;&nbsp;&nbsp;&nbsp; <a href="#I-General-UNC">3.1.3 UNC Paths</a><br>
247  &nbsp;&nbsp;&nbsp;&nbsp; <a href="#I-General-64bitJava">3.1.4 64-bit Java HotSpot(TM) VM</a><br>
248  <a href="#I-Platform">3.2 Platform</a><br>
249  &nbsp;&nbsp;&nbsp;&nbsp; <a href="#I-Platform-Core">3.2.1 Core</a><br>
250
251  &nbsp;&nbsp;&nbsp;&nbsp; <a href="#I-Platform-Ant">3.2.2 Ant</a><br>
252  &nbsp;&nbsp;&nbsp;&nbsp; <a href="#I-Platform-User-Assistance">3.2.3 User Assistance</a><br>
253  &nbsp;&nbsp;&nbsp;&nbsp; <a href="#I-Platform-UI">3.2.4 UI</a><br>
254  &nbsp;&nbsp;&nbsp;&nbsp; <a href="#I-Platform-Text">3.2.5 Text</a><br>
255  &nbsp;&nbsp;&nbsp;&nbsp; <a href="#I-Platform-SWT">3.2.6 SWT</a><br>
256
257  &nbsp;&nbsp;&nbsp;&nbsp; <a href="#I-Platform-Team-CVS">3.2.7 Team and CVS</a><br>
258  &nbsp;&nbsp;&nbsp;&nbsp; <a href="#I-Platform-Install-Update">3.2.8  Install/Update</a><br>
259  &nbsp;&nbsp;&nbsp;&nbsp; <a href="#I-Platform-Debug">3.2.9 Debug</a><br>
260  &nbsp;&nbsp;&nbsp;&nbsp; <a href="#I-Platform-Compare">3.2.10 Compare</a><br>
261  <a href="#I-JDT">
262  3.3 Java development tools (JDT)</a><br>
263  <a href="#I-PDE">
264  3.4 Plug-in Development Environment (PDE)</a><br>
265
266</blockquote>
267<p>Note: Bug numbers refer to the Eclipse project bug database at <a href="http://dev.eclipse.org/bugs/">http://bugs.eclipse.org/bugs/</a></p>
268
269<h3>3.1 <a name="I-General">General problems</a></h3>
270<h3>3.1.1 <a name="I-General-Startup">General - Startup</a></h3>
271<h4>Installation/Configuration issues that can cause Eclipse to fail start</h4>
272<p>Here are some common problems that can cause Eclipse not to start:</p>
273<ul>
274  <li>As shown <a href="#TargetOperatingEnvironments">above</a>, Eclipse 3.4 requires 
275    at least a 1.4.2 VM. Perhaps an older version of the VM is being found in 
276    your path. To explicitly specify which VM to run with, use the Eclipse <tt>-vm</tt> 
277    command-line argument. (See also the <a href="#Running Eclipse">Running Eclipse</a> 
278    section below.)</li>
279  <li>
280    Running Eclipse on Gentoo Linux may result in the following error message:
281    <div style="margin-left: 40px;">
282<tt>* run-java-tool is not available for sun-jdk-1.6 on i686<br>* IMPORTANT: some Java tools are not available on some VMs on some architectures</tt>
283    </div>
284
285If this occurs, start Eclipse by specifying a -vm argument, either
286specify the path to a java vm or use: <tt>eclipse -vm `java-config</tt>
287--java` (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=176021">176021</a>)</li>
288<li>Eclipse must be installed to a clean directory and not installed over top of
289a previous installation. If you have done this then please re-install to a new
290directory. If your workspace is in a child directory of your old installation
291directory, then see the instructions below on "<a href="#upgrading">Upgrading Workspace from a
292Previous Release"</a>.</li>
293
294<li>Java sometimes has difficulty detecting whether a file system is writable. In
295particular, the method java.io.File.canWrite() appears to return true in
296unexpected cases (e.g., using Windows drive sharing where the share is a
297read-only Samba drive). The Eclipse runtime generally needs a writable
298configuration area and as a result of this problem, may erroneously detect the
299current configuration location as writable. The net result is that Eclipse will
300fail to start and depending on the circumstances, may fail to write a log file
301with any details. To work around this, we suggest users experiencing this
302problem set their configuration area explicitly using the <tt>-configuration</tt> command
303line argument. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67719">67719</a>)</li>
304</ul>
305
306<h4><b>Invalid characters in install directory prevents Eclipse from starting</b></h4>
307<p>Eclipse will fail to launch if installed in a directory whose path
308contains certain invalid characters, including :%#&lt;&gt;&quot;!. The
309workaround is to install Eclipse in a directory whose path does not contain
310invalid characters. (bugs <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=3109">3109</a>
311and <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=17281">17281</a>)</p>
312
313<h4>Hanging during class loading when out of permanent generation memory</h4>
314<p>
315The Sun VM may hang indefinitely during class loading if it runs out of permanent
316generation memory.  This will cause CPU usage to stay at 100% until the process
317is ended.  See the section <a href="#Running Eclipse">Running Eclipse</a> for details
318on addressing this VM problem.
319</p>
320
321<h3>3.1.2 <a name="I-General-GCJ">General - GCJ</a></h3>
322<p>GCJ is an effort by the GCC team to provide an open source Java compiler and
323runtime environment to interpret Java bytecode. Unfortunately, the GCJ runtime
324environment is not an environment that is often tested on by Eclipse
325developers.</p>
326
327<p>The most common problems surrounding GCJ are:</p>
328<ul>
329<li>Eclipse does not start at all</li>
330<li>Eclipse throws a 'java.lang.ClassNotFoundException: org.eclipse.core.runtime.Plugin' that can be found in the logs (located in
331workspace/.metadata/.log)</li>
332</ul>
333
334<p>The workspace's log file is a good place to check to identify whether GCJ is
335being used or not. Every Eclipse log session should be prepended with
336information about the runtime environment that was used to run Eclipse. The log
337may include something like the following:</p>
338
339<code>java.fullversion=GNU libgcj 4.2.1 (Debian 4.2.1-5)</code>
340
341<p>If Eclipse does start, one can check which runtime environment is being used to
342run Eclipse by going to 'Help &gt; About Eclipse SDK &gt; Configuration Details'. The
343About Dialog itself can also provide other information, the build identifier
344can be of particular interest as it is tagged by some distributions. This allows the
345user to identify whether Eclipse was downloaded through the distribution's
346package management system or directly from the eclipse.org website.</p>
347
348Eg: <code>Build id: M20070212-1330 (Ubuntu version: 3.2.2-0ubuntu3)</code>
349
350<p>The two most common workarounds are:</p><ul>
351<li>download the Eclipse binary from eclipse.org directly</li>
352<li>run Eclipse using an alternate Java runtime environment</li></ul>
353
354<p>To download Eclipse, try one of the links below:</p><ul>
355<li><a href="http://www.eclipse.org/downloads/">http://www.eclipse.org/downloads/</a></li>
356<li><a href="http://download.eclipse.org/eclipse/downloads/">http://download.eclipse.org/eclipse/downloads/</a></li></ul>
357
358It is imperative that 64-bit builds are downloaded and used if a 64-bit Java
359runtime environment has been installed. Below are two sample tarball names of
360version 3.4.0 of the Eclipse SDK packaged for 32-bit and 64-bit processors.
361
362<pre>eclipse-SDK-3.4-linux-gtk.tar.gz (32-bit)
363eclipse-SDK-3.4-linux-gtk-x86_64.tar.gz (64-bit)</pre>
364
365<p>To run Eclipse with an alternate Java runtime environment, the path to the Java
366virtual machine's binary must be identified. With an Eclipse installation from
367the distribution, altering the $PATH variable to include the path to the
368alternate Java runtime environment is often not enough as the Eclipse that
369Linux distributions package often performs a scan internally to pick up GCJ by
370itself whilst ignoring what's on the $PATH. An example of the terminal's output
371is shown below:</p>
372
373<code>searching for compatible vm...<br>
374  testing /usr/lib/jvm/java-7-icedtea...not found<br>
375  testing /usr/lib/jvm/java-gcj...found</code>
376
377<p>Once the path to the virtual machine's binary has been identified, try running
378Eclipse with the following command:</p>
379
380<code>/eclipse -vm /path/to/jre/bin/java</code>
381
382<p>For an actual example, it might look something like the following:</p>
383
384<code>/eclipse -vm /usr/lib/jvm/sun-java-6/bin/java<br>
385/eclipse -vm /opt/sun-jdk-1.6.0.02/bin/java</code>
386
387<p>If this seems to solve the problem, it is likely that the problem really was
388related to the use of GCJ as the Java runtime for running Eclipse. The
389eclipse.ini file located within Eclipse's folder can be altered to
390automatically pass this argument to Eclipse at startup. An example of its
391content is presented below:</p>
392
393<code>-showsplash<br>
394org.eclipse.platform<br>
395--launcher.XXMaxPermSize<br>
396256m<br>
397-vm<br>
398/opt/sun-jdk-1.6.0.02/bin/java<br>
399-vmargs<br>
400-Xms40m<br>
401-Xmx512m</code>
402
403<p>Note that every argument must be on its own line. More information about the
404eclipse.ini file can be found at <a href="http://wiki.eclipse.org/Eclipse.ini">http://wiki.eclipse.org/Eclipse.ini</a>.</p>
405
406<p>If problems persists after downloading an installation of Eclipse from
407eclipse.org and using a supported Java runtime environment (a list of which may be found <a href="#TargetOperatingEnvironments">above</a>), 
408you can seek further assistance through the <a href="http://www.eclipse.org/newsgroups/">newsgroups</a>, 
409the IRC <a href="irc://irc.freenode.net/#eclipse">channel</a>, 
410and/or <a href="https://bugs.eclipse.org/bugs/">bugzilla</a>.
411</p>
412
413<h3>3.1.3 <a name="I-General-UNC">General - UNC Paths</a></h3>
414<p>Eclipse 3.4.0 does not properly handle installation in a directory using 
415Universal Naming Convention (UNC) paths. Limited uses of the platform will
416work in this environment, but there are known bugs with starting workspaces on
417a UNC location, or upgrading software installed in a UNC location
418(bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=235629">235629</a>,
419bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=207103">207103</a>).
420The platform is not well tested in such an environment.</p>
421
422<h3>3.1.3 <a name="I-General-64bitJava">General - 64-bit Java HotSpot(TM) VM</a></h3>
423<p>
424There is a known issue with the 64-bit Java HotSpot(TM) 1.6.0 VM compiler which causes eclipse to 
425crash (see Sun bug <a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6614100">http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6614100</a>,
426and Eclipse bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=214092">214092</a>).
427The crash usually occurs within a VM CompilerThread when attempting to compile the method org.eclipse.core.internal.dtree.DataTreeNode.forwardDeltaWith.
428</p>
429
430<p>
431To work around the issue you can exclude the method org.eclipse.core.internal.dtree.DataTreeNode.forwardDeltaWith from being compiled with the following
432VM argument:
433</p>
434
435<code>
436-XX:CompileCommand=exclude,org/eclipse/core/internal/dtree/DataTreeNode,forwardDeltaWith
437</code>
438
439<p>
440This VM argument can be placed in the eclipse.ini file after the -vmargs line like the following:
441</p>
442
443<code>
444-startup<br>
445plugins\org.eclipse.equinox.launcher_1.0.100.v20080509-1800.jar<br>
446--launcher.library<br>
447plugins\org.eclipse.equinox.launcher.win32.win32.x86_1.0.100.v20080509-1800<br>
448-showsplash<br>
449org.eclipse.platform<br>
450--launcher.XXMaxPermSize<br>
451256m<br>
452-vmargs<br>
453-XX:CompileCommand=exclude,org/eclipse/core/internal/dtree/DataTreeNode,forwardDeltaWith<br>
454-Xms40m<br>
455-Xmx256m<br>
456</code>
457
458<p>
459There have been reports of other classes that cause the compiler to crash.  If all else fails you can 
460disable the compiler with the VM arg &quot;-Xint&quot;.
461</p>
462
463<h3>3.2 <a name="I-Platform">Platform</a></h3>
464
465<h3>3.2.1 <a name="I-Platform-Core">Platform - Core</a></h3>
466
467<h4>Installing plug-ins by unzipping them into the plugins directory</h4>
468<p>If you have installed new plug-ins and they aren't showing up when you run,
469then perhaps you unzipped them into your "plugins" directory and your
470configuration might need to be refreshed. This can be accomplished by starting
471Eclipse with the <tt>-clean</tt> command line argument.</p>
472
473<h4>XML files with UTF-8 byte order mark fail to have content type detected</h4>
474<p>Eclipse will fail to detect the proper content type for XML files that have a
475UTF-8 byte order mark if Crimson is the XML parser (as it is on Sun 1.4 JREs,
476but not on Sun 1.5 JREs). This
477problem will prevent actions normally available when files of the affected
478content types are selected from being presented to the user. The workaround is
479to ensure the default XML parser supports UTF-8 BOMs (such as Xerces does). (bug
480<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67048">67048</a>)</p>
481<h4>No branding with old config.ini</h4>
482<p>If you have an old config.ini file and use it with a new Eclipse build, you
483may not get the correct product branding. This is because the id of the standard
484Eclipse product changed. Users in shared install scenarios may end up in this
485situation as previous builds of Eclipse automatically generated config.ini files
486in some cases. The work around is either to delete the local config.ini or
487update the eclipse.product line to read eclipse.product=org.eclipse.platform.ide.</p>
488
489<h4>Problems with
490classloaders in created threads</h4>
491<p>There is a known issue with trying to load classes from a newly-created
492thread using a class loader different from the plug-in class loader. The result
493will be a <code>ClassNotFoundException</code>. As a workaround, do the
494following:</p>
495<ol>
496  <li>Create a thread in which to run your code.</li>
497  <li>Send yourThread.setContextClassLoader(yourClassLoader); // you can find
498    your classloader by grabbing a class it loaded (YourPluginClass.class.getClassLoader())</li>
499  <li>Run your code in the newly created thread.</li>
500</ol>
501<p>If you set the context class loader for the current thread, you are
502competing with other users of the thread (all of Eclipse), so the results will
503be unpredictable. However, there should be no problem in practice provided you
504reset the context class loader back to its original value when your use in the
505current thread is&nbsp;complete. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=8907">8907</a>)</p>
506
507<h4>Deadlock creating executable
508extension in Plugin.startup</h4>
509<p>If <code>Plugin.startup</code> code is too complex and performs tasks such
510as creating an executable extension, a deadlock situation can be created. Only
511simple bookkeeping tasks should be performed in <code>Plugin.startup</code>
512code. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=5875">5875</a>)</p>
513<h4>Potential Problems Converting Plug-in Manifests</h4>
514<p>If your plug-in ships with a plug-in manifest and not an OSGi bundle manifest,
515is shipped as a JAR file, and contains a nested JAR file then there may be
516problems in the automatic generation of the bundle manifest file. The packages
517defined in the nested JAR may not be exported correctly in the <tt>Export-packages</tt>
518
519bundle manifest header. To work around this you should ship your plug-in with a
520bundle manifest. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=97689">97689</a>)</p>
521<h4>Location for Debug Options File on Mac OS</h4>
522<p>If you are running in debug mode on Mac OS, the default location for the
523.options file is inside the application bundle in the Eclipse.app/Contents/MacOS
524directory (like the eclipse.ini). (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=88782">88782</a>)</p>
525<h4>Configuration can become invalid when removing org.eclipse.update.configurator</h4>
526<p>When launching an Eclipse Application from within the Eclipse IDE it is possible
527to select the set of plug-ins that are included in the Eclipse Application. 
528Removing the org.eclipse.update.configurator plug-in from the set of plug-ins to
529an existing configuration can cause the configuration to become invalid.  This
530can result in extra plug-ins installed in the target application that are not
531resolved.  To work around this, after the org.eclipse.update.configurator
532plug-in has been removed, the target configuration area should be cleared before
533launching. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=85835">85835</a>)</p>
534
535<h4>Issues with JNI that use FindClass</h4>
536<p>
537There may be issues when using a JNI implementation that uses FindClass 
538in a function where the JNIEnv pointer is not available, such as in a C 
539callback (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=125250">125250</a>).  The reason is that FindClass, in this case, uses the application
540class loader to find the class.
541If the desired class is in the classpath used for the application classloader
542(e.g. defined by the VM argument -cp &lt;classpath&gt;), as it would typically be in 
543a stand-alone application, there is no problem.  However, under
544Eclipse, the application classloader does not have access to classes 
545contained in plug-ins.  Eclipse uses its own class loader to find classes 
546contained in plug-ins.
547</p>
548<p>
549The proper plug-in class loader is used by FindClass in JNI functions which are 
550passed the JNIEnv pointer, but not when you have to use AttachCurrentThread to get the 
551JNIEnv pointer.  In this case the application classloader is used.
552</p>
553<p>
554For example, the following will fail because AttachCurrentThread is used to 
555get the JNIEnv pointer:</p>
556<pre>
557static JavaVM* jvm;  // Global variable
558
559void myCallback(void) {
560    JNIEnv* env;
561    jvm-&gt;AttachCurrentThread((void**)&amp;env, NULL);
562    // Fails if some/class is not in the application classloader:
563    jclass cls = env-&gt;FindClass(&quot;some/class&quot;);
564    jmethodID methodID = env-&gt;GetMethodID(cls, &quot;methodName&quot;,
565      &quot;(Ljava/lang/String;)V or whatever signature&quot;);
566    env-&gt;CallVoidMethod(callback, methodID, ...);
567    jvm-&gt;DetachCurrentThread();
568  }
569}
570</pre>
571<p>
572A solution is to cache the method ID, for example:
573</p>
574<pre>
575static jmethodID mid;  // Global variable
576
577JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void *reserved) {
578...
579  // Store the JavaVM pointer
580    jvm = vm;
581
582  // Find the class and store the method ID
583  // Will use the class loader that loaded the JNI library
584    jclass cls = env-&gt;FindClass(className&quot;some/class&quot;);
585    if(!cls) goto ERR;
586
587    mid = env-&gt;GetMethodID(cls, &quot;methodName&quot;,
588      &quot;(Ljava/lang/String;)V or whatever signature&quot;);
589    if(!mid) goto ERR;
590...
591}
592
593void myCallback(void) {
594    JNIEnv* env;
595    jvm-&gt;AttachCurrentThread((void**)&amp;env, NULL);
596    env-&gt;CallVoidMethod(callback, mid, ...);
597     // Handle error ...
598    jvm-&gt;DetachCurrentThread();
599  }
600}
601</pre>
602
603
604<h3>3.2.2 <a name="I-Platform-Ant">Platform - Ant</a></h3>
605<h4>UTF-8 encoded buildfiles with Byte Order Mark</h4>
606<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
607<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67048">67048</a>)</p>
608<h4> Custom Ant tasks and Ant
609types must be separate from plug-in library JARs</h4>
610<p>Including the class files for custom Ant tasks or Ant types in the regular
611code JAR for your plug-in causes problems. These class files must be provided in
612a separate JAR that is contributed to the <code>org.eclipse.ant.core.antTasks</code>
613or <code>antTypes</code> extension point (and not declared as a library in the
614plug-in's manifest). This ensures that the Ant tasks and types are loaded by the
615special Ant class loader and not by a plug-in classloader. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=34466">34466</a>).</p>
616
617<h4> Concurrent Ant builds not supported</h4>
618<p>Eclipse can run Ant in the same JVM as the rest of Eclipse. Several aspects
619of Ant and its use of global Java resources (such as System.out and System.err),
620make it unsafe to run more than one Ant build concurrently in the same JVM. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=24129">24129</a>).</p>
621<h4> Running certain Ant tasks
622cause memory leakage</h4>
623<p>Certain Ant tasks are known to leak memory. Please see the bug report for
624details, patches, and possible workarounds. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=24448">24448</a>)</p>
625<h4> Tasks that require input
626lock up workspace</h4>
627
628<p>As with using Ant from the command line, prompts for input from the
629console is not handled. This is not the same as making use of the &lt;input&gt;
630task, which works correctly within Eclipse. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=21748">21748</a>)</p>
631<h4>&quot;version&quot; property is always set when running Ant in the same VM as Eclipse</h4>
632<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
633<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=45717">45717</a>)</p>
634<h4>XDoclet support from within Eclipse</h4>
635
636<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
637<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=37070">37070</a>)</p>
638<h4>Ant Editor code completion based on Ant 1.6.1</h4>
639<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 mostly based on Ant 1.6.1 with some updates to Ant 1.6.5 (bug
640<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=30886">30886</a>)</p>
641<h4> Eclipse can hang due to implementation of the Ant &lt;property&gt; task (Windows 9X
642only)</h4>
643<p>On Windows 9X, using:&lt;property environment="env"/&gt; 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.
644(bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=44196">44196</a>)</p>
645
646<h4> Setting build loggers not supported when debugging Ant builds</h4>
647<p>When debugging Ant builds within Eclipse, setting -logger as a program argument will be ignored.</p>
648
649<h4>Renaming an External Tool builder set to run during auto-build will cause errors</h4>
650<p>If you rename an existing external tool builder that is configured to run during auto-builds, you will get the following error:
651 Errors during build.
652      Errors running builder "Integrated External Tool Builder" on project
653      &lt;PROJECT_NAME&gt;.
654      The builder launch configuration could not be found.
655The workaround is to first disable the builder for auto-builds and then rename the builder.
656(bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=118294">118294</a>)</p>
657
658<h4>Slow typing/saving of the Ant editor with imports that define numerous macrodefs</h4>
659<p>The Ant editor is slow on saving with buildfiles that have &lt;import&gt; declarations of buildfiles that have numerous &lt;macrodef&gt;s.
660See bugs <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=92640">92640</a> and <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=125117">125117</a> for possible workarounds</p>
661
662<h4>Failure to run Ant builds on non-Windows platforms if Eclipse installed in location with spaces in the path</h4>
663<p>Due to a bug in Ant 1.7.0, Ant builds will fail with an IllegalArgumentException if the Eclipse installation is in a location with spaces in the path.
664Embedded usage of Ant builds, such as plug-in export will also fail.
665See bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=187993">187993</a> for possible workarounds</p>
666
667<h3>3.2.3 <a name="I-Platform-User-Assistance">Platform - User Assistance</a></h3>
668<h4>Welcome page not displayed properly (Linux/Unix)</h4>
669<p>The default Welcome implementation is HTML-based and requires a supported browser
670in order to work. If no supported browser can be found, Welcome falls back to its
671Forms-based implementation, which has a different (simpler) appearance. Consult the
672<a href="http://www.eclipse.org/swt/faq.php#browserplatforms">SWT FAQ</a> for supported
673browsers and setting up your browser to work with eclipse.
674</p>
675
676<h4>Help browser tool bar buttons do not work for some documents</h4>
677<p>The Help browser's Print, Synchronize, and Bookmark buttons do not work for
678pages that are not actually installed with the product. However, you can always
679use the print command in the browser's context menu to print the page you're
680reading. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=44216">44216</a>)</p>
681<h4> Help documents not displayed
682in a browser or very slow document loading (Windows only)</h4>
683
684If your LAN settings are not properly configured for local host access, your
685Help browser might open to a blank page or display an HTTP error instead of a
686help page, or you may experience long delays when loading help documents. Your
687system administrator can configure your LAN settings so that help documents can
688be accessed from the local help server.
689<blockquote>
690  <ol>
691    <li>In the Control Panel, open <b>Internet Options</b>, select the <b>Connections</b>
692      tab and choose <b>LAN Settings</b>.</li>
693    <li>If your host was configured to use DHCP for IP assignment, make sure
694      that the &quot;Automatically detect settings&quot; check box is cleared.</li>
695    <li>If you use a proxy server, ensure that the &quot;Bypass proxy server
696      for local addresses&quot; is selected.</li>
697    <li>In &quot;Advanced&quot; settings for proxies, add
698      &quot;127.0.0.1;localhost&quot; to the &quot;Exceptions&quot; if these
699      addresses are not listed.</li>
700    <li>If you are using an automatic configuration script for proxy
701      settings, and are not sure that the script is correct, clear the &quot;Use
702      automatic configuration script&quot; check box.</li>
703
704  </ol>
705</blockquote>
706<p>If the above steps do not fix your problem, try changing the port and host
707properties on the <b>Help &gt; Help Server</b> preference page. In general,
708setting <code>host</code> to <code>localhost</code> or <code>127.0.0.1</code>
709
710should work. Also, especially when running a firewall, you may want to specify
711port 80 or some other firewall-friendly value. (bugs <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=7036">7036</a>,
712<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=9418">9418</a>, <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=11394">11394</a>)</p>
713<h4> Working disconnected from
714the network (Windows only)</h4>
715If you are experiencing problems when not connected to the network, you must
716install the loopback adapter from the Windows installation CD. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=831">831</a>)
717<h4> Using Internet Explorer in
718offline mode (Windows only)</h4>
719
720If you have been using Internet Explorer in Offline mode, when you access the
721help system you will get a message indicating that the web page you requested is
722not available offline or a blank page will display. Click <b>Connect</b> or
723deselect &quot;Work Offline&quot; in the Internet Explorer &quot;File&quot; menu
724to return the system behavior to normal.
725<h4>Help topics not highlighted in High Contrast mode (Windows only)</h4>
726<p>Windows High Contrast settings are not consistently picked up by Internet
727Explorer when they are set from the Accessibility Options utility as opposed to
728when they are set using the predefined schemes. On Windows XP, it is recommended
729to set High Contrast as follows: Right click the desktop, chose properties,
730select Windows Classic style from the Windows and buttons drop down on the
731Appearance tab, and choose your scheme (for example High Contrast Black) from
732Color Scheme drop down. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=28609">28609</a>)</p>
733<h4>Help browser displays a blank page</h4>
734
735<p>If you see a help launched with a blank page, and no errors displayed, it can
736be caused by a conflict between libraries in org.eclipse.tomcat plug-in and jars
737optionally installed in JRE jre/lib/ext directory. To fix the problem, ensure
738that the JRE used for running Eclipse does not contain any J2EE or Apache jars
739in the jre/lib/ext directory. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63970">63970</a>)</p>
740
741<h3>3.2.4 <a name="I-Platform-UI">Platform - UI</a></h3>
742<h4>High contrast settings</h4>
743<p>Eclipse was tested for High Contrast using 1152 x 864 resolution in Windows
744XP High Contrast mode. You can select this mode by selecting Accessibility
745Options &gt; Display &gt; Use High Contrast from the Windows XP Control Panel
746menu.</p>
747<h4>Default text file encoding
748may be detected incorrectly (Windows XP/2000 only)</h4>
749
750<p><strong>Note</strong>: the bug report associated with this problem has been fixed. If you run Eclipse with JDK 1.5 or greater you should not have to use the workaround stated below any longer. However, the problem still exists when running Eclipse with JDK 1.4.x or lower, so in this case  the workaround is still required . </p>
751<p>The &quot;Text file encoding&quot; value displayed in the Preferences
752  dialog under &quot;Editors&quot; may be wrong on platforms running Windows XP
753(or 2000) when the user locale and system locale differ.&nbsp;</p>
754<p>Example of the manifestation of the bug: A Japanese user using Japanese
755Windows 2000 works in New York, United States. The user has selected English
756(United States) as the user locale. The &quot;Text file encoding&quot; value
757displayed by Eclipse is incorrect: &quot;Cp1252&quot; (English). It should
758display the system locale &quot;MS932&quot; (Japanese).</p>
759<p>Workaround: The user can modify the user locale so that user locale and
760system locale are identical. In the example above, this means the user should
761set Japanese as the user locale. Then restart Eclipse. The &quot;Text file
762encoding&quot; value will then be correct: &quot;MS932&quot; (Japanese).</p>
763
764<p>For Windows XP:</p>
765<ul>
766  <li>To check the system locale: Open the Control Panel. Go to Regional and
767    Language Options. Switch to the Advanced tab. The system locale is specified
768    in &quot;Language for non-Unicode programs&quot;.</li>
769  <li>To change the user locale: Open the Control Panel. Go to Regional and
770    Language Options. The user locale can be modified by changing the language
771    in &quot;Standards and formats&quot;.</li>
772</ul>
773<p>For Windows 2000:</p>
774<ul>
775  <li>To check the system locale: Open the Control Panel. Go to Regional
776    Options. Look up the items in the General tab, inside the &quot;Language
777    settings for the system&quot; group. The system locale is the item marked as
778    (Default).</li>
779  <li>To change the user locale: Open the Control Panel. Go to Regional
780    Options. The user locale can be modified by changing the location in
781    &quot;Settings for the current user&quot;.</li>
782
783</ul>
784<p>(bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=20641">20641</a>)</p>
785<h4> Dirty state not tracked
786properly for OLE documents (Windows only)</h4>
787<p>The dirty state for an OLE document is not updated properly. This causes
788Eclipse to prompt to save the contents of the editor when the document is
789closed, even if the contents have already been saved. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=2564">2564</a>)</p>
790<h4> OLE document crashes can
791cause Eclipse to also crash (Windows only)</h4>
792<p>If an OLE document crashes, Eclipse can crash, or the workbench menus can
793become inconsistent.</p>
794<h4>2.1 Presentation based workspaces incorrectly get new Min/Max behavior</h4>
795<p>
796Workspaces that are currently using the Eclipse 2.1 Presentation will incorrectly
797'inherit' the new min/max behavior when opened with 3.3.
798</p>
799<p>
800Workaround:</p>
801<ol>
802 <li>Go to the 'Preferences -&gt; Appearance' page, change the current presentation to 'Default' and select apply</li>
803 <li>Change it back to the 2.1 Presentation, select 'OK' and 'Yes' to the restart prompt</li>
804</ol>
805When the workbench re-opens the old min/max behaviour will be restored.
806<h4>Toolbars only containing contributed controls exhibit display errors on Mac/Linux</h4>
807<p>
808Currently there is no way on the Max or Linux platforms to define the <b>height</b> for controls contributed to
809toolbars, nor will those platforms respect the size returned by the control's <code>computeSize</code> method. If you
810encounter this issue there is currently no truly viable workaround.
811(bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=183003">183003</a>)
812</p>
813
814
815<h3>3.2.5 <a name="I-Platform-Text">Platform - Text</a></h3>
816None.
817
818<h3>3.2.6 <a name="I-Platform-SWT">Platform - SWT</a></h3>
819<h4>Eclipse plug-in based on the SWT Browser throws exception</h4>
820<p>The SWT Browser widget uses a platform-specific web browser to render HTML.
821The org.eclipse.swt.SWTError exception (&quot;No more handles&quot;) is thrown
822on platforms that don't meet the requirements for running the Browser widget.
823Supported platforms and prerequisites are listed on the SWT FAQ item <a href="http://www.eclipse.org/swt/faq.php#browserplatforms">
824&quot;Which platforms support the SWT Browser?&quot;</a>.</p>
825
826<h4>Crash when using the file dialog (Windows XP with SP2 only)</h4>
827<p>With some versions of Synergy from Telelogic, Eclipse will crash when you try to open a file 
828dialog.  This is due to a problem with the CMExplorer.dll.  The workaround is to
829upgrade to Synergy 6.4 (or higher) or to run <code>regsvr32 /u CMExplorer.dll</code> and 
830reboot (note that this will disable Active CM).
831(bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=87798">87798</a>)</p>
832
833<h4>Opening File Dialog crashes eclipse (Vista only)</h4>
834<p>On Vista, launching eclipse using <code>-vmargs -Xmx[any size]</code> can crash eclipse when the FileDialog is opened.
835The workaround is to use the default heap size, i.e. do not use the <code>-Xmx</code> VM args.
836(bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=188317">188317</a>)</p>
837
838<h4>Internet Explorer sometimes freezes on PDF documents with Acrobat Reader 6 (Windows only)</h4>
839<p>With Acrobat Reader 6 or 7, some users have experienced an unresponsive user 
840interface for up to two minutes when closing a browser which is displaying a PDF document.
841The workaround is to disable displaying PDF in the browser. In Adobe Reader
842select Edit &gt; Preferences... &gt; Internet and uncheck 'Display PDF in browser'.
843(bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56184">56184</a>)</p>
844
845<h4>Crash while editing text (Windows XP with SP2 only)</h4>
846<p>Some users who have installed Service Pack 2 on Windows XP have experienced
847crashes while using editors in Eclipse.  The workaround is to place a working version 
848of Windows\System32\USP10.DLL in the Eclipse startup directory or uninstall
849Service Pack 2.
850(bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56390">56390</a>)</p>
851
852<h4>Input Method broken (Motif only)</h4>
853<p>Some versions of RedHat Linux such as Fedora Core 3 and Enterprise Linux WS 
854release 4 use a new technology called IIIM (Intranet/Internet Input Method
855Framework) to replace the old XIM (X input method).   When running on these 
856new systems, Eclipse will crash if you attempt to enter any DBCS character.  The 
857workaround is to use a XIM based input method such as chinput.  This problem 
858may be fixed in newer releases of RedHat.
859(bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=89722">89722</a>)</p>
860
861<h4>Eclipse does not start on Linux-Motif with Xinerama and a UTF-8 locale</h4>
862<p>The Linux-motif build of Eclipse does not launch properly when run on a 
863computer with Xinerama (provides support for dual head monitors) and a UTF-8 
864locale.  The workaround for this problem is to change the locale to a non-UTF-8 
865value, or to disable Xinerama.
866(bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=38843">38843</a>)
867</p>
868
869<h4>Eclipse hangs when pasting from an unresponsive application (GTK only)</h4>
870<p>If the application that is supplying the clipboard material is unresponsive,
871the paste operation hangs Eclipse for several minutes. This situation can be
872encountered when copying from an Eclipse target workbench, suspending the target
873workbench at a breakpoint and pasting into the hosting Eclipse workbench. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=44915">44915</a>)</p>
874
875<h4>Unable to drag data between applications in simplified Chinese locale (Motif only)</h4>
876<p>When configured for the simplified Chinese locale, it is not possible to
877drag data between applications running on the Motif window system. This is a
878known limitation of the Open Motif library. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=29777">29777</a>)</p>
879
880<h4>Crash when attempting to launch file browser (AIX Motif only)</h4>
881<p>There is a known AIX graphics bug affecting certain levels of AIX
882releases. Ensure that the AIX install includes the necessary service updates as
883described in the &quot;Install notes/requirements for Eclipse on AIX&quot;
884attachment to Eclipse bug report number <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=34524">34524</a>.</p>
885
886<h4>Available colors on 8-bit Linux (Linux only)</h4>
887<p>Typically, in Gnome Linux installs running with 8-bit visuals (i.e. 256
888color mode), before the Eclipse application is started there are no free colors.
889This may mean that Eclipse is unable to allocate the default widget background
890color, causing it to display a white background. The functionality, however, is
891otherwise unaffected.</p>
892
893<h4>IME-related crash (Linux Motif only)</h4>
894<p>When using Linux Motif and GB18030 IME &quot;chinput&quot;, Eclipse can
895crash if the IME client window is left open when the parent window is disposed.
896(bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=32045">32045</a>)</p>
897
898<h4>IME converstion problem (Solaris GTK only)</h4>
899<p>When typing Japanese text, the conversion to Kanji must be done one ideogram at
900a time. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=226636">226636</a>)</p>
901
902<h4>Using IBM J9 VM (Photon and AIX)</h4>
903<p>On QNX Photon and IBM AIX, the SWT library will not be found when running
904with an IBM J9 1.5 VM. This is a bug in the IBM J9 class library in version 1.5.
905You can workaround this problem by adding the SWT library directory to your
906LD_LIBRARY_PATH environment variable.</p>
907
908<h4> gtk_init_check and X11 socket failure when using the IBM 1.4.2 JRE (GTK only)</h4>
909<p>Under RHEL 3.1 with the IBM 1.4.2 JRE and a large number
910of plugins, Eclipse may fail to launch with an exception from
911<tt>gtk_init_check</tt> along with this error:</p>
912<pre>
913_X11TransSocketOpen: socket() failed for local
914_X11TransSocketOpenCOTSClient: Unable to open socket for local
915</pre>
916<p>A workaround is to set the environment variable <tt>JAVA_HIGH_ZIPFDS</tt> to
917a value of 500 before starting Eclipse. (bug
918<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=106396">106396</a>)</p>
919
920<h4>Key bindings can stop working on Debian (GTK+ only)</h4>
921<p>On some versions of Debian, Eclipse key bindings may stop working.  In this context
922the only way to make the key bindings work again is to restart Eclipse.
923</p><p>
924The problem is that a focus issue exists in GTK+ 2.6.7 and earlier, for which SWT has
925a workaround.  This workaround is incompatible with the GTK+ 2.6.7 fix, so a GTK+ version
926check is done at runtime to determine whether the workaround should be used or not.
927However, Debian backported the GTK+ focus fix into their libgtk+2.0 (2.6.4-2) package,
928so the SWT workaround and GTK+ fix are both incorrectly applied in this context.
929</p><p>
930To work around this problem, either get the Debian unstable version of GTK+, compile your
931own GTK+, or hack SWT's Shell.gtk_realize(int) and change the version that it checks.
932See SWT bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=107013">107013</a>
933and GTK+ bug <a href="http://bugzilla.gnome.org/show_bug.cgi?id=109246">109246</a>
934for more information.</p>
935
936<h4>Browser does not display applets (Windows and OS X)</h4>
937<p>The Browser widget cannot be used to display pages containing Java applets on Windows
938and OS X, as a result of crashes that occur when attempting to launch a second JVM for the
939applet that is in-process with the main process JVM.  The workaround for clients wishing
940to display web pages with Java applets is to launch an external web browser to do so with
941<code>org.eclipse.swt.program.Program</code> (see bugs
942<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=59506">59506</a> and
943<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=100622">100622</a>).</p>
944
945<h4>Eclipse hangs with earlier versions of Quicktime (Intel Mac OS X only)</h4>
946<p>Some users reported encountering system hangs while using Eclipse on Intel-based Macs.
947These hangs were traced to a problem in some versions of QuickTime, which has now been fixed.
948Therefore, Eclipse users on Intel-based Macs should use Quicktime's update facilities to ensure
949that their Quicktime version is at least 7.1.1. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=142892">142892</a>)
950</p>
951
952<h4>Typing in an editor crashes with IBM 1.5 VM (Linux GTK PPC only)</h4>
953<p>When running on the IBM Java 5.0 VM, Eclipse crashes while the user is typing in an editor.
954If using this VM you must disable the JIT with the -Xnojit vm argument to avoid the crashes
955(see bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=116730">116730</a>).
956The command line for launching Eclipse with this vm should be: <br>
957<code>eclipse -vmargs -Dosgi.locking=none -Xnojit</code>
958</p>
959
960<h4>Eclipse won't start (Linux GTK PPC only)</h4>
961<p>Eclipse fails to create a lock file with reason &quot;No locks available&quot;. 
962To launch eclipse you must disable file locking using the osgi.locking property.
963For example, you could launch eclipse as follows: <br>
964<code>eclipse -vmargs -Dosgi.locking=none</code>
965</p>
966
967<h4>SWT_AWT bridge doesn't work (Mac OSX only)</h4>
968<p>In order to use the SWT_AWT bridge on the Mac, OS X jre version 1.5.0 Release 5
969(or greater) must be used.
970</p>
971
972<h4>Eclipse printing is disabled or Eclipse hangs when opening editor (GTK only)</h4>
973<p>In order to print from eclipse on GTK, you need to have GTK+ version 2.10 or later.
974In addition, at least two print backends must exist on the machine: file and lpr.
975Assuming a that GTK was installed in /usr, the installed backends can be viewed at /usr/lib/gtk-2.0/2.10.0/printbackends.
976</p>
977
978<h4>SWT cannot be used with OS X JRE version 1.6 (Mac OSX only)</h4>
979<p>OS X JRE version 1.6 assumes that pointers have a size of 64 bits, but SWT's Carbon
980port only uses 32-bit pointers, so SWT and Eclipse cannot be used with OS X JRE version
9811.6.  The workaround is to use an earlier supported version of the OS X JRE.
982</p>
983
984<h4>Browser.setText() cannot be used with beta versions of Firefox 3.0/XULRunner 1.9</h4>
985<p>As a result of a late interface change in the Firefox 3.0/XULRunner 1.9 development stream,
986most beta versions of these applications cannot be used by the Browser if its <code>setText()</code>
987API is used.  This problem can be fixed by upgrading to the final release versions of these
988applications. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=235020">235020</a>)
989</p>
990
991<h4>Strings may be truncated or incorrectly wrapped on RHEL5 (Linux GTK only)</h4>
992<p>
993Strings on wrapping Controls may not appear correctly in some locales on RHEL5 as a result
994of a bug in Pango version 1.14.x.  This problem can be fixed by upgrading the installed
995Pango library to a version that is newer than 1.14.x.  (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=231951">231951</a>)
996</p>
997
998<h3>3.2.7 <a name="I-Platform-Team-CVS">Platform - Team - CVS</a></h3>
999<p>The following are known problems with the CVS repository provider only, and
1000do not apply to other repository providers. Additional information on how to use
1001CVS from Eclipse can be found in the <a href="http://dev.eclipse.org/viewcvs/index.cgi/~checkout~/platform-vcm-home/docs/online/cvs_features2.0/cvs-faq.html">Eclipse
1002CVS FAQ</a>.</p>
1003<h4> CVS server compatibility</h4>
1004<p>The CVS plug-in parses messages returned from the CVS server. If the format
1005of these messages is not as expected, some of the plug-in's functionality may be
1006missing. The CVS plug-in is compatible with all stable 1.11.X builds of the CVS
1007server, and should be compatible with future releases in that stream unless text
1008message formats change (the last tested server was 1.11.22). As for the 1.12.X
1009feature releases of CVS, the Eclipse CVS client has been tested with builds up
1010to 1.12.13. However, future releases could easily break the Eclipse CVS client.
1011Basic functionality, such as Checkout, Commit, and Update, should always work,
1012but there may be problems with more advanced commands such as Synchronizing and
1013Browsing the repository.</p>
1014  
1015<h4>SSH2 proxy settings lost upgrading to 3.3</h4>
1016<p>CVS now uses the Platform proxy settings. As a result, any CVS proxy settings
1017will be lost and must be re-entered on the General&gt;Network Connections preference 
1018page. </p>
1019<h4>Connection cannot be found after initially missing</h4>
1020<p>If a connection initially fails due to a network problem, the connection may
1021continue to fail even when the network problem is fixed. In order to establish
1022the connection you must exit and restart Eclipse. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=9295">9295</a>)</p>
1023<h4>&quot;Received broken pipe signal&quot; error from server</h4>
1024<p>Eclipse sometimes performs multiple commands within a single connection to
1025the server. This may cause problems with CVS servers that are running server
1026scripts in response to certain commands. (bugs <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=23575">23575</a>
1027and <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=23581">23581</a>)</p>
1028
1029<h4>&quot;Terminated with fatal signal 10&quot; error from server</h4>
1030<p>There is a bug in the CVS server related to some compression levels. If you
1031get this error, changing the compression level on the CVS preference page may
1032help. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=15724">15724</a>)</p>
1033<h4>&quot;Unknown response&quot; error using ext connection method</h4>
1034<p>There are a few situations that can result in an &quot;Unknown response&quot;
1035error messages when using the ext connection method. One situation involves
1036using an external communications client (e.g. rsh or ssh) that adds CRs to the
1037communications channel (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=21180">21180</a>).
1038Another involves Eclipse not properly reading the stderr output of the external
1039communications tool. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=11633">11633</a>)</p>
1040
1041<h4>A disabled CVS capability may not be auto-enabled in existing workspaces</h4>
1042<p>New in 3.0 is the ability to disable capabilities and the CVS support in
1043Eclipse can be disabled. However, for backwards compatibility the CVS capability
1044is auto-enabled in existing workspaces that already contain CVS projects. The
1045auto-enabling function may not run if the team support plugin is not loaded at
1046startup. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66977">66977</a>)</p>
1047<h4>Builder output files may appear as changed</h4>
1048<p>When folders containing build output are shared they may get improperly
1049marked as dirty when build output is generated.</p>
1050
1051<h3>3.2.8 <a name="I-Platform-Install-Update">Platform - Install/Update</a></h3>
1052<h4>Manually installing features and plug-ins on a FAT file system (Windows only)</h4>
1053
1054<p>When features and plug-ins are manually installed on top of an Eclipse-based
1055 product install located on a FAT file system that has already been run at least 
1056 once, the product must be explicitly restarted with -clean. That is,</p>
1057<pre>eclipse.exe -clean
1058</pre>
1059
1060<h4>Connecting to untrusted sites using https</h4>
1061<p>You cannot install or update software from a site using https whose certificate
1062is not chained to a trusted root certificate in your local certificate store. This typically
1063means the server is using a self-signed certificate, or a certificate authenticated by
1064an unknown third party.</p>
1065
1066<h4>Removing a link file does not uninstall the corresponding extension location</h4>
1067<p>If you have an extension location in an Eclipse-based application that is connected
1068to your configuration via a link file, the extension is not removed when the link is deleted.
1069The workaround is to move or delete the extension location, and restart the platform
1070with the -clean command line argument. You can then restore or move back the 
1071extension location content to its original location (bug <A HREF="https://bugs.eclipse.org/bugs/show_bug.cgi?id=232094">232094</A>).
1072</p>
1073
1074<p><B>Extension location is lost if the install path changes</B></p>
1075<P>A previously configured extension location may be temporarily removed if the install is moved or mounted 
1076under a different path. This only happens when the link file that configures the 
1077extension location uses a relative path that points to a directory under the Eclipse 
1078install. On a second startup using the same install path, the extension location 
1079is added again (bug <A HREF="https://bugs.eclipse.org/bugs/show_bug.cgi?id=95403">95403</A>). <BR></P>
1080
1081<h3>3.2.9 <a name="I-Platform-Debug">Platform - Debug</a></h3>
1082<p>None. (Known problems with the Java debugger appear below in the <a href="#I-JDT">JDT</a>
1083section.)</p>
1084
1085<h3>3.2.10 <a name="I-Platform-Compare">Platform - Compare</a></h3>
1086<p>None.</p>
1087
1088<h3>3.3 <a name="I-JDT">Java development tools (JDT)</a></h3>
1089
1090<h4>Multiple regions formatting in a given source snippet</h4>
1091In version 3.4, the new API method <code>org.eclipse.jdt.core.formatter.CodeFormatter.format(int, String, IRegion[], int, String)</code>
1092has been added to allow the formatting of several regions in a source snippet with a single pass.<br>
1093Even if specified, this method does not currently accept comments of the following kinds:
1094<ul>
1095<li><code>org.eclipse.jdt.core.formatter.CodeFormatter#K_SINGLE_LINE_COMMENT</code></li>
1096<li><code>org.eclipse.jdt.core.formatter.CodeFormatter#K_MULTI_LINE_COMMENT</code></li>
1097<li><code>org.eclipse.jdt.core.formatter.CodeFormatter#K_JAVA_DOC</code></li>
1098</ul>
1099This will be fixed in a future release (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=233967">233967</a>).
1100
1101<h4>Searching for constant field references</h4>
1102<p>Search does not find references to constant fields inside binaries because
1103the Java Language Specification mandates that constant field values be inlined
1104in the class file's byte codes, leaving no trace of a field reference.&nbsp;(bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=12044">12044</a>)</p>
1105
1106<h4> Cut, copy, paste not working
1107for linked resources in views showing Java elements</h4>
1108<p>The cut, copy, and paste actions do not work for linked files and folders
1109appearing in views that show Java elements, including the Package Explorer. The
1110workaround is to use these actions from the Navigator view instead. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=34568">34568</a>)</p>
1111<h4> Java working sets not
1112working correctly for elements from JRE system library container</h4>
1113<p>Applying a working set consisting entirely of elements from the JRE System
1114library container as a filter to the packages view might result in an empty
1115Package Explorer. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=35395">35395</a>)</p>
1116
1117<h4>Cannot generate Javadoc for packages with GB18030 characters in the name</h4>
1118<p>Most class libraries do not properly support the creation of a system
1119process (via <code>java.lang.Runtime.exec(...)</code>) when the specified
1120command line contains GB18030 characters. Since Javadoc is created using the
1121Javadoc executable provided with the JDK, generating Javadoc fails if the
1122package or class name contains GB18030 characters. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=32215">32215</a>)</p>
1123
1124<h4>Side effects of Step into Selection and Run to Line</h4>
1125<p>The actions &quot;Step into Selection&quot; and &quot;Run to Line&quot;
1126optimistically set breakpoints on the line the user has chosen to step into or
1127run to. However, the debugger can not determine if or when execution will ever
1128reach the chosen line. The breakpoints set by the underlying implementation are
1129not visible to the user and can cause execution to suspend unexpectedly at a
1130later time, when the associated line is actually executed. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=51507">51507</a>)</p>
1131<h4>Default locale initialization incorrect</h4>
1132<p>The default locale is generally initialized from the settings in the
1133operating system when a target VM is launched. However, when using javaw.exe on
1134JDK1.4.2, Windows XP, the default locale is incorrectly initialized to en_US, no
1135matter what the operating system settings are. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=65945">65945</a>)</p>
1136<h4>Suspend on uncaught exception overrides exception breakpoint location filters</h4>
1137<p>Exception breakpoints can be configured with location filters (inclusive and 
1138  exclusive). When an unchecked exception is configured to <b>not</b> suspend 
1139  execution in a specific class, execution will still suspend when the user preference 
1140  to suspend on uncaught exceptions is on. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66770">66770</a>)</p>
1141
1142<h4>Running Java programs with non-Latin-1 characters in package or class names</h4>
1143You get a <code>java.lang.NoClassDefFoundError</code> when running Java
1144programs with non-Latin characters in the package or class names. The workaround
1145is to package the class files as a JAR file and run the program out of the JAR
1146and not from the file system directly. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=4181">4181</a>)
1147
1148<h4>Cannot run or debug class in
1149a project with GB18030 characters in project name</h4>
1150<p>Most class libraries do not properly support the creation of a system
1151process (via <code>java.lang.Runtime.exec(...)</code>) when the specified
1152command line contains GB18030 characters. This limitation means the debugger
1153cannot launch applications when the command line it generates contains GB18030
1154characters. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=32206">32206</a>)</p>
1155<h4>Cannot detect installed JRE with GB18030 characters in path name</h4>
1156<p>Automatic JRE detection fails when the JRE is stored in a directory
1157containing GB18030 characters in its name. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=33844">33844</a>)</p>
1158<h4> Unable to debug stack
1159overflows</h4>
1160
1161<p>If a debug session suspends on a <code>java.lang.StackOverflowError</code>
1162exception (due to an exception breakpoint), the debugger may not be able to
1163retrieve any debug information from the target JVM. As well, the debugger may
1164not be able to reliably interact with the target JVM past this point. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=19217">19217</a>)</p>
1165<h4> Evaluation limitation</h4>
1166<p>The debugger uses threads in the target JVM to perform evaluations (both
1167explicit evaluations that the user requests, and implicit evaluations such as <code>toString()</code>
1168invocations in the <b>Variables</b> view). The Java Debug Interface (JDI)
1169requires that the thread in which an evaluation is performed be suspended by a
1170user event (that is, a breakpoint or step request). Evaluations cannot be
1171performed on threads suspended by the suspend action. As well, when a breakpoint
1172is configured to suspend the JVM rather than just the individual thread, the
1173threads which did not encounter the breakpoint are not in a valid state to
1174perform an evaluation. When an evaluation is attempted in a thread that is not
1175in a valid state to perform an evaluation, an error message will appear to the
1176effect of &quot;Thread must be suspended by step or breakpoint to perform method
1177invocation&quot;. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=34440">34440</a>)</p>
1178
1179<h4> Missing debug attributes</h4>
1180The debugger requires that class files be compiled with debug attributes if
1181it is to be able to display line numbers and local variables. Quite often, class
1182libraries (for example, &quot;<code>rt.jar</code>&quot;) are compiled without
1183complete debug attributes, and thus local variables and method arguments for
1184those classes are not visible in the debugger.
1185<h4> Using Hot Code Replace</h4>
1186<p>Hot code replace is supported on JDK 1.4.x VMs, and IBM J9 VMs. The debugger
1187will attempt to replace all class files that change in the workspace as the user
1188edits and builds source code. However, hot code replace is limited to changes
1189that a particular virtual machine implementation supports. For example, changes
1190within existing methods may be supported, but the addition or removal of members
1191may not be.</p>
1192<p>Note that hot code replace and stepping on JDK 1.4.0 VMs was unreliable. The
1193underlying VM problems were fixed in JDK 1.4.1, and later.</p>
1194<h4> Scrapbook</h4>
1195Setting a breakpoint inside a scrapbook page is not supported.
1196
1197<p>When a snippet is run in the scrapbook which directly or indirectly calls <code>System.exit(int)</code>,
1198the evaluation cannot be completed, and will result in a stack trace for a <code>com.sun.jdi.VMDisconnectedException</code>
1199being displayed in the scrapbook editor.</p>
1200<p>Terminating a scrapbook page while it is performing an evaluation results
1201in a <code>com.sun.jdi.VMDisconnectedException</code> being displayed in the
1202scrapbook editor.</p>
1203<h4> Debugging over slow
1204connections</h4>
1205A global Java debug preference specifies the debugger timeout, which is the
1206maximum amount of time the debugger waits for a response from the target VM
1207after making a request of that VM. Slow connections may require that this value
1208be increased. The timeout value can be edited from the <b>Java &gt; Debug </b>preference
1209page. Changing the timeout value only effects subsequently launched VM, not VMs
1210that are already running.
1211
1212<h4> Updating of inspected values</h4>
1213When inspecting the result of an evaluated expression in the debugger, it is
1214important to note that the result displayed is the result of that expression at
1215the time it was evaluated. For example, when inspecting a simple integer counter
1216(primitive data type), the value displayed in the Expressions view is the value
1217when the expression was evaluated. As the counter is changed in the running
1218program, the inspected result will not change (since the view is not displaying
1219the value bound to a variable - it is displaying the value of an expression, and
1220the value of a primitive data type cannot change). However, if an expression
1221results in an object, fields of that object will be updated in the inspector as
1222they change in the running program (since the value bound to fields in an object
1223can change).
1224<h4> Stepping over native methods
1225that perform I/O</h4>
1226When the debugger steps over native methods that perform I/O to <code>System.out</code>
1227or <code>System.err</code>, the output may not appear immediately unless the
1228native performs a flush on the output buffer.
1229<h4> VM and process termination
1230running on IBM 1.3 JVM on Linux (Linux only)</h4>
1231Terminating a launch, debug target, or system process associated with a debug
1232target running on the IBM 1.3 JVM on the Linux platform does not work when the
1233associated debug target has a suspended thread. To remove such debug targets
1234from the debug UI, select <b>Terminate and Remove</b> from the debug view's
1235pop-up menu (or use the shortcut &quot;delete&quot; key). Associated system
1236processes in the OS may not be properly cleaned up. If a debug target has no
1237suspended threads, termination works properly. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=1631">1631</a>)
1238
1239
1240<h4> Memory View (Linux only)</h4>
1241The feature to automatically load segments of memory while scrolling in the Memory
1242view does not work on Linux. Instead the user must use the &quot;Next Page&quot; and &quot;Previous Page&quot; actions
1243to manually load memory segments (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=74559">74559</a>)
1244
1245<h4>Java 6 Annotation Processing</h4>
1246Java 6 annotation processors are supported in the batch compiler and in the IDE, with 
1247some limitations. Java 6 processors are only executed during a build, not while editing (bug 
1248<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=188558">188558</a>). Some methods
1249in the processing API are unimplemented when compiling within the IDE, and will throw
1250UnsupportedOperationException.
1251
1252<h3>3.4 <a name="I-PDE">Plug-in Development Environment (PDE)</a></h3>
1253<h4>Feature manifest editor does not preserve all comments</h4>
1254
1255<p>When a non-source page of the feature manifest editor is used, PDE will convert
1256changes back into XML by regenerating the file. Although the overall content and
1257most of the comments are preserved, some comments may be lost. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=59502">59502</a>)</p>
1258<h4>PDE will not unzip source zips of some plug-ins</h4>
1259<p>In the plug-in import wizard, when you choose to import plug-ins as
1260&quot;projects with source folders&quot;, PDE will not unzip the source for the
1261org.apache.ant, org.eclipse.core.runtime.compatibility.registry, org.eclipse.osgi.util and org.eclipse.osgi.services. This is
1262because the source ZIPs contains code that will not compile when unzipped as it
1263requires additional JARs that are not part of the SDK. To avoid the creation of
1264plug-in projects that won't compile, PDE will import these plug-ins as binary
1265and attach source, so you would still be able to read the source, you just won't
1266be able to modify it. Also, PDE will not unzip the source for the
1267org.eclipse.swt plug-ins. In this case, it is because, when shipped, the swt
1268code is spread across a plug-in and a fragment, and when unzipped, it will
1269require circular dependencies between the plug-in and fragment projects. These
1270circular dependencies are at minimum marked as warnings by the JDT compiler and
1271may result in unpredictable build behavior. Therefore, PDE always imports
1272org.eclipse.swt as binary with source attached. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66314">66314</a>)</p>
1273
1274<h4>Emacs key bindings do not
1275work in manifest editor fields</h4>
1276<p>Non-default key bindings currently do not work in fields on non-source
1277pages of the PDE manifest editors. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=19482">19482</a>)</p>
1278<h4>Plug-in import wizard does
1279not allow plug-ins of different versions to be imported</h4>
1280<p>The Eclipse platform allows two plug-ins with the same ID but different
1281versions to coexist if the only thing they contribute is run-time libraries.
1282However, PDE cannot handle these plug-ins because it creates project names using
1283plug-in IDs during binary project import. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=18500">18500</a>)</p>
1284<h4>Export of plug-in may silently drop classes</h4>
1285<p>When exporting a plug-in using the plug-in, feature or product wizards, some classes
1286might be dropped from the resulting archive if their fully qualified name is too long.
1287This typical path limitation can be worked around by creating the jar of the problematic
1288plug-in by using the Jar export wizard.
1289(bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=97150">97150</a>)</p>
1290
1291<h4>Compilation errors when exporting projects not stored outside of the workspace</h4>
1292<p>When exporting multiple plug-ins and one is stored outside of the workspace,
1293compile errors occurs on export. To work around the problem, you can either export
1294the plug-ins one by one, or change their location.
1295(bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=98579">98579</a>)</p>
1296
1297<h4>Headless build needs to be run from a fully qualified path</h4>
1298<p>When running a headless build using the scripts provided by pde build, the properties <code>builder</code> 
1299and <code>buildDirectory</code> must refer to a fully qualified path.
1300(bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=139554">139554</a>)
1301</p>
1302
1303<h4>Target Platform only sees installed plug-ins</h4>
1304<p>With the new p2 provisioning system in 3.4, PDE introduced a preference to control how target platforms are built. 
1305By default, this preference is on if your target equals your host, otherwise it's off. When this preference is enabled, PDE attempts to
1306read a target platform's configuration and build the target platform based in the target's list of installed plug-ins. If a configuration
1307can't be found (a bundles.info or platform.xml file), PDE will simply manually scan the target directory and populate the target platform's
1308list of plug-ins.
1309(bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=226037">226037</a> and bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=225148">225148</a>)
1310</p>
1311
1312<h4>Delta pack is not seen by PDE when installed</h4>
1313<p>If you're using the delta pack, the target platform preference for building a target based on the target's installed plug-ins must be checked off.
1314This is because a target's runtime configuration only contains plug-ins specific to the platform it's running on.
1315(bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=230146">230146</a>)
1316</p>
1317
1318<h2>4. <a name="Running Eclipse">Running Eclipse</a></h2>
1319<p>After installing the Eclipse SDK in a directory, you can start the Workbench
1320by running the Eclipse executable included with the release (you also need a 1.4.2
1321JRE, not included with the Eclipse SDK). On Windows, the executable file is called <samp>eclipse.exe</samp>,
1322and is located in the <code>eclipse</code> sub-directory of the install. If
1323installed at <code>c:\eclipse-SDK-3.4-win32</code>, the executable is <code>c:\eclipse-SDK-3.4-win32\eclipse\eclipse.exe</code>.
1324
1325<b>Note:</b> Set-up on most other operating environments is analogous. Special
1326instructions for Mac OS X are listed <a href="#macosx">below</a>.</p>
1327
1328<h3>Allocating enough memory and solving OutOfMemoryErrors</h3>
1329<p>By default, Eclipse will allocate up to 256 megabytes of Java heap memory. This should
1330be ample for all typical development tasks. However, depending on the JRE
1331that you are running, the number of additional plug-ins you are using, and
1332the number of files you will be working with, you could conceivably have to increase this amount. 
1333Eclipse allows you to pass arguments directly to the Java VM using the
1334<code>-vmargs</code> command line argument, which must follow all other Eclipse specific arguments.
1335Thus, to increase the available heap memory, you would typically use:</p>
1336<blockquote>
1337  <p><code>eclipse -vmargs -Xmx&lt;memory size&gt;</code></p>
1338</blockquote>
1339<p>with the <code>&lt;memory size&gt;</code> value set to greater than
1340&quot;256M&quot; (256 megabytes -- the default). 
1341</p>
1342<p>
1343When using a Sun VM, you may also need to increase the size of the permanent
1344generation memory.  The default maximum is 64 megabytes, but more may
1345be needed depending on your plug-in configuration and use.  When the VM runs
1346out of permanent generation memory, it may crash or hang during class loading.
1347This failure is less common when using Sun JRE version 1.5.0_07 or greater.
1348The maximum permanent generation size is increased using the -XX:MaxPermSize=&lt;memory size&gt; argument:</p>
1349<blockquote>
1350  <p><code>eclipse -vmargs -XX:MaxPermSize=&lt;memory size&gt;</code></p>
1351</blockquote>
1352<p>This argument may not be available for all VM versions and platforms; consult your VM documentation
1353for more details.
1354</p>
1355<p>
1356Note that setting memory sizes to be larger than the amount of available physical
1357memory on your machine will cause Java to &quot;thrash&quot; as it copies objects
1358back and forth to virtual memory, which will severely degrade your performance.
1359</p>
1360<h3>Selecting a workspace</h3>
1361<p>When the Workbench is launched, the first thing you see is a 
1362dialog that allows you to select where the workspace will be located. The
1363workspace is the directory where your work will be stored.
1364If you do not specify otherwise, Eclipse creates the workspace in your
1365user directory.
1366This workspace directory is used as the default content area for your projects
1367as well as for holding any required metadata. For shared or multi-workspace
1368installs you must explicitly specify the location for your workspace using the
1369dialog (or via the &quot;<code>-data</code>&quot; command line argument).</p>
1370<h3>Specifying the Java virtual machine</h3>
1371<p>Here is a typical Eclipse command line:&nbsp;</p>
1372
1373<blockquote>
1374  <p><code>eclipse -vm c:\jdk1.4.2\jre\bin\javaw</code></p>
1375</blockquote>
1376<p><i>Tip:</i> It's generally a good idea to explicitly specify which Java VM to
1377use when running Eclipse. This is achieved with the &quot;<code>-vm</code>&quot;
1378command line argument as illustrated above. If you don't use &quot;<code>-vm</code>&quot;,
1379Eclipse will look on the O/S path. When you install other Java-based products,
1380they may change your path and could result in a different Java VM being used
1381when you next launch Eclipse.</p>
1382<p>To create a Windows shortcut to an installed Eclipse:</p>
1383<ol>
1384  <li>Navigate to <code>eclipse.exe</code> in Windows Explorer and use Create
1385    Shortcut on the content menu.</li>
1386  <li>Select the shortcut and edit its Properties. In the Target: field append
1387    the command line arguments.</li>
1388</ol>
1389<p>Opening this shortcut launches Eclipse. (You can drag the shortcut to the 
1390Windows Desktop if you want to keep it in easy reach.)</p>
1391
1392<h3><a name="macosx">Mac OS X</a></h3>
1393<p>On Mac OS X, you start Eclipse by double clicking the Eclipse application. If you need to 
1394pass arguments to Eclipse, you'll have to edit the <code>eclipse.ini</code> file
1395inside the Eclipse application bundle: select the Eclipse application bundle icon while holding down the Control Key.
1396This will present you with a popup menu. Select &quot;Show Package Contents&quot; in the popup menu.
1397Locate <code>eclipse.ini</code> file in the <code>Contents/MacOS</code> sub-folder and open it with your favorite text editor to edit the command line options.
1398</p>
1399
1400<p>
1401On MacOS X you can only launch a UI program more then once if you have separate
1402copies of the program on disk. The reason for this behavior is that every UI
1403application on Mac can open multiple documents, so typically there is no need
1404to open a program twice. Since Eclipse cannot open more than one workspace, this means you have to make
1405a copy of the Eclipse install if you want to open more then one workspace at
1406the same time (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=139319">139319</a>).
1407</p>
1408
1409<p>If you need to launch Eclipse from the command line, you can use the symbolic link &quot;eclipse&quot; in the
1410top-level eclipse folder. It refers to the eclipse executable inside the application bundle and takes
1411the same arguments as &quot;eclipse.exe&quot; on other platforms. 
1412</p>
1413<p>On Mac OS X 10.4 and later, you may notice a slow down when working with significant
1414numbers of resources if you allow Spotlight to index your workspace. To prevent this, start
1415System Preferences, select the Spotlight icon, then the Privacy tab, then click the Add button
1416(&quot;+&quot;) and find your workspace directory in the dialog that appears.</p>
1417<h3><a name="SharedInstall">Shared Install</a></h3>
1418<p>The startup speed of a shared install can be improved if proper cache information is stored in the shared 
1419install area. To achieve this, after unzipping Eclipse distribution, run Eclipse once with the &quot;-initialize&quot; 
1420option from an account that has a write access to the install directory.</p>
1421<h2>5. <a name="Upgrading"></a>Upgrading Workspace from a Previous Release</h2>
1422
1423<h3>Users who don't use &quot;-data&quot;</h3>
1424<p>If you weren't previously using &quot;-data&quot; to specify your workspace,
1425follow these steps to upgrade:</p>
1426
1427<ol>
1428  <li>Find the workspace directory used by your old version of Eclipse.
1429    Typically this is located inside the directory in which Eclipse was
1430    installed in a sub-directory called &quot;<code>workspace</code>&quot;. If
1431    you are using a shortcut or script to launch Eclipse, then it will be under
1432    the current working directory of that shortcut or script in a sub-directory
1433    called &quot;workspace&quot;. For Windows users, this is specified by the
1434    &quot;Start in:&quot; argument in your shortcut properties.</li>
1435  <li>Copy this workspace directory to a new, empty location outside of any
1436    Eclipse install directory.</li>
1437  <li>Install the new version of Eclipse in a new location, separate from any
1438    old version of Eclipse.</li>
1439
1440  <li>If you had installed additional features and plug-ins into your old
1441    Eclipse, you should re-install them in the new Eclipse.</li>
1442  <li>Start this new version of Eclipse and select
1443    this location using the workspace chooser dialog at startup (or use &quot;<code>-data</code>&quot;
1444    command line argument to pre-select the workspace location).</li>
1445</ol>
1446<h3>Users who do use &quot;-data&quot;</h3>
1447<p>If you were previously using the &quot;<code>-data</code>&quot; argument to
1448start Eclipse, your upgrade path is much easier:</p>
1449
1450<ol>
1451  <li>Optionally copy your workspace directory to a new, empty location outside of any
1452    Eclipse install directory as a backup.</li>
1453  <li>Install the new version of Eclipse in a new location, separate from any
1454    old versions of Eclipse.</li>
1455  <li>If you had installed additional features and plug-ins into your old
1456    Eclipse, you should re-install them in the new Eclipse.</li>
1457  <li>Start this new version of Eclipse and select this location using the workspace chooser dialog at
1458    startup (or use &quot;<code>-data</code>&quot;
1459    command line argument to pre-select the workspace location).</li>
1460</ol>
1461<p><i>Note:</i> Copying your workspace is recommended because,
1462after you've upgraded your workspace, you won't be able to use it
1463again with an older version of Eclipse. If you ever want to go &quot;back in
1464time&quot; to an earlier release, you will need that backup.</p>
1465
1466
1467<h2>6. <a name="Interoperability with Previous Releases">Interoperability with
1468Previous Releases</a></h2>
1469<h3>6.1 Interoperability of Release 3.4 with previous releases</h3>
1470<h4>Sharing projects between heterogeneous Eclipse 3.4 and 3.3</h4>
1471<p>Special care is required when a project in a team repository is being loaded
1472and operated on by developers using Eclipse-based products based on different
1473feature or plug-in versions. The general problem is that the existence,
1474contents, and interpretation of metadata files in the workspaces may be specific
1475to a particular feature or plug-in version, and differ between versions. The
1476workspace compatibility guarantees only cover cases where all developers upgrade
1477their Eclipse workspaces in lock step. In those cases there should be no problem
1478with shared metadata. However, when some developers are working in Eclipse 3.4
1479while others are working in Eclipse 3.3, there are no such guarantees.
1480This section provides advice for what to do and not to do. It addresses the
1481specific issues with the Eclipse SDK.</p>
1482
1483<p>The typical failure mode is noticed by the 3.4 user. 3.4 metadata is lost
1484when a 3.3 user saves changes and then commits the updated metadata files to the
1485repository. Here's how things typically go awry:</p>
1486<ul>
1487  <li>A user working in Eclipse 3.4 creates or modifies a project in a way that
1488    results in changes to a shared metadata file that rely on 3.4-specific
1489    information. The user then commits the updated project files, including the
1490    shared metadata file, to the shared repository.</li>
1491  <li>Another user working in Eclipse 3.3 shares this project from the same
1492    repository. The 3.4-specific information in the shared metadata file is not
1493    understood by Eclipse 3.3, and is generally discarded or ignored without
1494    warning. The user modifies the project in a way that results in changes to
1495    the shared metadata file, causing the shared metadata file to be rewritten
1496    without any of the 3.4-specific information. The user commits the updated
1497    project files, including the shared metadata file, to the shared repository.
1498    The user is generally unaware that shared information has just been lost as
1499    a result of their actions.</li>
1500  <li>A user working in Eclipse 3.4 picks up the changes to a project from the
1501    shared repository, including the updated shared metadata file. The user may
1502    be unaware that they have just taken a retrograde step until later when
1503    things start to malfunction.</li>
1504</ul>
1505<p>Here are some things to watch out for when sharing projects between
1506Eclipse 3.4 and Eclipse 3.1 or earlier:</p>
1507<ul>
1508  <li><b>Linked resources in the .project file</b><br>
1509  Eclipse 3.4 supports creating linked resources at arbitrary depth within a project,
1510  and supports creating linked resources referring to other file systems. Neither of
1511  these scenarios are supported in Eclipse 3.1 or earlier.  If such linked resources
1512  are created in 3.4, and the project is subsequently loaded into an Eclipse 3.1
1513  or earlier workspace, these links will not be recognized.  Recommendation:
1514  avoid creating links at arbitrary depth or to other file systems where project
1515  compatibility with Eclipse 3.1 or earlier is required.</li>
1516</ul>
1517<h4>Using Eclipse 3.4 to develop plug-ins that work in Eclipse 3.3</h4>
1518<p>It is also possible (and reasonable) to use Eclipse 3.4 to develop a plug-in 
1519  intended to work in Eclipse 3.3 or earlier. Use the <b>Plug-in Development &gt; 
1520  Target Platform </b>preference page to locate non-workspace plug-ins in an Eclipse 
1521  3.3 install. This ensures that the code for your plug-in is being compiled and 
1522  tested against Eclipse 3.3 APIs, extension points, and plug-ins. (The above 
1523  list of concerns do not apply since they affect the layout and interpretation 
1524  of files in the plug-in <i>project</i> but none affect the actual deployed form 
1525  of the plug-in.)</p>
1526
1527<hr>
1528<p>Sun, Solaris, Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc.
1529in the United States, other countries, or both.</p>
1530<p>IBM is a trademark of International Business Machines Corporation in the
1531United States, other countries, or both.</p>
1532<p>Microsoft, Windows, Windows NT, Vista, and the Windows logo are trademarks of
1533Microsoft Corporation in the United States, other countries, or both.</p>
1534<p>Apple and Mac OS are trademarks of Apple Computer, Inc., registered in the
1535U.S. and other countries.</p>
1536<p>QNX, Neutrino, and Photon are trademarks or registered trademarks of QNX
1537Software Systems Ltd.</p>
1538<p>Other company, product, and service names may be trademarks or service marks
1539of others.</p>
1540<p>(c) Copyright IBM Corp. and others 2008</p>
1541
1542<h2><a name="Appendix1">Appendix 1: Execution Environment by Plug-in</a></h2>
1543
1544<p>In the table below, the "3.4 EE" ("3.4 Execution Environment") column
1545indicates the minimum Java class library requirements of each plug-in
1546for the 3.4 release, where the value is one of:</p>
1547<table border="0" width="90%">
1548  <tbody>
1549    <tr>
1550      <td align="center"><b>Entry</b></td>
1551      <td align="left"><b>Meaning</b></td>
1552    </tr>
1553    <tr>
1554      <td>
1555      <div align="center"><strong>M1.0</strong></div>
1556      </td>
1557      <td>OSGi Minimum Execution Environment 1.0 - This is a subset of
1558      the J2ME Foundation class libraries defined by OSGi to be the base
1559      for framework implementations. See the OSGi specification for more
1560      details.</td>
1561    </tr>
1562    <tr>
1563      <td width="9%">
1564      <div align="center"><strong>M1.1</strong></div>
1565      </td>
1566      <td width="91%">OSGi Minimum Execution Environment 1.1 - This is a
1567      subset of the J2ME Foundation class libraries defined by OSGi to
1568      be the base for framework implementations. See the OSGi
1569      specification for more details.</td>
1570    </tr>
1571    <tr>
1572      <td>
1573      <div align="center"><strong>F1.0</strong></div>
1574      </td>
1575      <td>J2ME Foundation 1.0 - indicates that the plug-in can only be
1576      run on Foundation 1.0 or greater. Note that with the exception of
1577      some MicroEdition IO classes, Foundation 1.0 is a subset of J2SE
1578      1.3.</td>
1579    </tr>
1580    <tr>
1581      <td>
1582      <div align="center"><strong>F1.1</strong></div>
1583      </td>
1584      <td>J2ME Foundation 1.1 - indicates that the plug-in can only be
1585      run on Foundation 1.1 or greater. Note that with the exception of
1586      some MicroEdition IO classes, Foundation 1.1 is a subset of J2SE
1587      1.4.</td>
1588    </tr>
1589    <tr>
1590      <td>
1591      <div align="center"><strong>1.2</strong></div>
1592      </td>
1593      <td>J2SE 1.2 - indicates that the plug-in can only be run on JSE
1594      1.2 or greater.</td>
1595    </tr>
1596    <tr>
1597      <td>
1598      <div align="center"><strong>1.3</strong></div>
1599      </td>
1600      <td>J2SE 1.3 - indicates that the plug-in can only be run on JSE
1601      1.3 or greater.</td>
1602    </tr>
1603    <tr>
1604      <td>
1605      <div align="center"><strong>1.4</strong></div>
1606      </td>
1607      <td>J2SE 1.4 - indicates that the plug-in can only be run on JSE
1608      1.4 or greater.</td>
1609    </tr>
1610    <tr>
1611      <td>
1612      <div align="center"><strong>1.4/1.5</strong></div>
1613      </td>
1614      <td>Indicates that the plug-in can run on JSE
1615      1.4 or greater, but provides enhanced functionality when run on J2SE 5.0.</td>
1616    </tr>
1617    <tr>
1618      <td>
1619      <div align="center"><strong>1.5</strong></div>
1620      </td>
1621      <td>J2SE 5.0 - indicates that the plug-in can only be run on JSE
1622      5.0 or greater.</td>
1623    </tr>
1624    <tr>
1625      <td>
1626      <div align="center"><strong>1.6</strong></div>
1627      </td>
1628      <td>J2SE 6.0 - indicates that the plug-in can only be run on JSE
1629      6.0 or greater.</td>
1630    </tr>
1631    <tr>
1632      <td align="center"><b>n/a</b></td>
1633      <td>Not applicable (for example plug-ins that do not contain Java code)</td>
1634    </tr>
1635  </tbody>
1636</table>
1637<br>
1638<b>Table of minimum execution environments by plug-in.</b> <br>
1639<table border="1">
1640  <tbody>
1641    <tr>
1642      <td width="290"><strong>Plug-in</strong></td>
1643      <td width="60"><div align="center">
1644
1645          <p align="center"><b>3.4<br>
1646            minimum<br>
1647            execution<br>
1648            environment </b></p>
1649        </div></td>
1650    </tr>
1651    <tr>
1652
1653      <td>javax.servlet</td>
1654      <td><div align="center">F1.0</div></td>
1655    </tr>
1656    <tr>
1657      <td>javax.servlet.jsp</td>
1658      <td><div align="center">F1.0</div></td>
1659    </tr>
1660
1661    <tr>
1662      <td>org.apache.ant</td>
1663      <td><div align="center">1.2</div></td>
1664    </tr>
1665    <tr>
1666      <td>org.apache.commons.el</td>
1667      <td><div align="center">F1.0</div></td>
1668
1669    </tr>
1670    <tr>
1671      <td>org.apache.commons.logging</td>
1672      <td><div align="center">F1.0</div></td>
1673    </tr>
1674    <tr>
1675      <td>org.apache.jasper</td>
1676
1677      <td><div align="center">F1.0</div></td>
1678    </tr>
1679    <tr>
1680      <td>org.apache.lucene</td>
1681      <td><div align="center">n/a</div></td>
1682    </tr>
1683    <tr>
1684
1685      <td>org.eclipse.ant.core</td>
1686      <td><div align="center">1.4</div></td>
1687    </tr>
1688    <tr>
1689      <td>org.eclipse.ant.ui</td>
1690      <td><div align="center">1.4</div></td>
1691    </tr>
1692
1693    <tr>
1694      <td>org.eclipse.compare</td>
1695      <td><div align="center">n/a</div></td>
1696    </tr>
1697    <tr>
1698      <td>org.eclipse.core.boot</td>
1699      <td><div align="center">F1.0</div></td>
1700
1701    </tr>
1702    <tr>
1703      <td>org.eclipse.core.commands</td>
1704      <td><div align="center">F1.0</div></td>
1705    </tr>
1706    <tr>
1707      <td>org.eclipse.core.contenttype</td>
1708
1709      <td><div align="center">F1.0</div></td>
1710    </tr>
1711    <tr>
1712      <td>org.eclipse.core.expressions</td>
1713      <td><div align="center">F1.0</div></td>
1714    </tr>
1715    <tr>
1716
1717      <td>org.eclipse.core.filebuffers</td>
1718      <td><div align="center">1.4</div></td>
1719    </tr>
1720    <tr>
1721      <td>org.eclipse.core.filesystem</td>
1722      <td><div align="center">1.4</div></td>
1723    </tr>
1724
1725    <tr>
1726      <td>org.eclipse.core.jobs</td>
1727      <td><div align="center">F1.0</div></td>
1728    </tr>
1729    <tr>
1730      <td>org.eclipse.core.net</td>
1731      <td><div align="center">1.4</div></td>
1732
1733    </tr>
1734    <tr>
1735      <td>org.eclipse.core.resources</td>
1736      <td><div align="center">1.4</div></td>
1737    </tr>
1738    <tr>
1739      <td>org.eclipse.core.resources.compatibility</td>
1740
1741      <td><div align="center">1.4</div></td>
1742    </tr>
1743    <tr>
1744      <td>org.eclipse.core.runtime</td>
1745      <td><div align="center">F1.0</div></td>
1746    </tr>
1747    <tr>
1748
1749      <td>org.eclipse.core.runtime.compatibility</td>
1750      <td><div align="center">1.4</div></td>
1751    </tr>
1752    <tr>
1753      <td>org.eclipse.core.runtime.compatibility.auth</td>
1754      <td><div align="center">F1.0</div></td>
1755    </tr>
1756
1757    <tr>
1758      <td>org.eclipse.core.runtime.compatibility.registry</td>
1759      <td><div align="center">F1.0</div></td>
1760    </tr>
1761    <tr>
1762      <td>org.eclipse.core.variables</td>
1763      <td><div align="center">1.4</div></td>
1764
1765    </tr>
1766    <tr>
1767      <td>org.eclipse.debug.core</td>
1768      <td><div align="center">1.4</div></td>
1769    </tr>
1770    <tr>
1771      <td>org.eclipse.debug.ui</td>
1772
1773      <td><div align="center">1.4</div></td>
1774    </tr>
1775    <tr>
1776      <td>org.eclipse.equinox.app</td>
1777      <td><div align="center">F1.0</div></td>
1778    </tr>
1779    <tr>
1780
1781      <td>org.eclipse.equinox.common</td>
1782      <td><div align="center">F1.0</div></td>
1783    </tr>
1784    <tr>
1785      <td>org.eclipse.equinox.http.jetty</td>
1786      <td><div align="center">F1.0</div></td>
1787    </tr>
1788
1789    <tr>
1790      <td>org.eclipse.equinox.http.servlet</td>
1791      <td><div align="center">F1.0</div></td>
1792    </tr>
1793    <tr>
1794      <td>org.eclipse.equinox.http.registry</td>
1795      <td><div align="center">F1.0</div></td>
1796
1797    </tr>
1798    <tr>
1799      <td>org.eclipse.equinox.jsp.jasper</td>
1800      <td><div align="center">F1.0</div></td>
1801    </tr>
1802    <tr>
1803      <td>org.eclipse.equinox.jsp.jasper.registry</td>
1804
1805      <td><div align="center">F1.0</div></td>
1806    </tr>
1807    <tr>
1808      <td>org.eclipse.equinox.launcher</td>
1809      <td><div align="center">F1.0</div></td>
1810    </tr>
1811    <tr>
1812
1813      <td>org.eclipse.equinox.preferences</td>
1814      <td><div align="center">F1.0</div></td>
1815    </tr>
1816    <tr>
1817      <td>org.eclipse.equinox.registry</td>
1818      <td><div align="center">F1.0</div></td>
1819    </tr>
1820
1821    <tr>
1822      <td>org.eclipse.help</td>
1823      <td><div align="center">1.4</div></td>
1824    </tr>
1825    <tr>
1826      <td>org.eclipse.help.appserver</td>
1827      <td><div align="center">1.4</div></td>
1828
1829    </tr>
1830    <tr>
1831      <td>org.eclipse.help.base</td>
1832      <td><div align="center">1.4</div></td>
1833    </tr>
1834    <tr>
1835      <td>org.eclipse.help.ui</td>
1836
1837      <td><div align="center">1.4</div></td>
1838    </tr>
1839    <tr>
1840      <td>org.eclipse.help.webapp</td>
1841      <td><div align="center">1.4</div></td>
1842    </tr>
1843
1844    <tr>
1845      <td>org.eclipse.jdt</td>
1846      <td><div align="center">1.4</div></td>
1847    </tr>
1848    <tr>
1849      <td>org.eclipse.jdt.apt.core</td>
1850      <td><div align="center">1.5</div></td>
1851
1852    </tr>
1853    <tr>
1854      <td>org.eclipse.jdt.apt.ui</td>
1855      <td><div align="center">1.5</div></td>
1856    </tr>
1857    <tr>
1858      <td>org.eclipse.jdt.compiler.apt</td>
1859
1860      <td><div align="center">1.6</div></td>
1861    </tr>
1862    <tr>
1863      <td>org.eclipse.jdt.compiler.tool</td>
1864      <td><div align="center">1.6</div></td>
1865    </tr>
1866    <tr>
1867
1868      <td>org.eclipse.jdt.core</td>
1869      <td><div align="center">1.4</div></td>
1870    </tr>
1871    <tr>
1872      <td>org.eclipse.jdt.core.manipulation</td>
1873      <td><div align="center">1.4</div></td>
1874    </tr>
1875
1876    <tr>
1877      <td>org.eclipse.jdt.debug</td>
1878      <td><div align="center">1.4</div></td>
1879    </tr>
1880    <tr>
1881      <td>org.eclipse.jdt.debug.ui</td>
1882      <td><div align="center">1.4</div></td>
1883
1884    </tr>
1885    <tr>
1886      <td>org.eclipse.jdt.doc.isv</td>
1887      <td><div align="center">n/a</div></td>
1888    </tr>
1889    <tr>
1890      <td>org.eclipse.jdt.doc.user</td>
1891
1892      <td><div align="center">n/a</div></td>
1893    </tr>
1894    <tr>
1895      <td>org.eclipse.jdt.junit</td>
1896      <td><div align="center">1.4</div></td>
1897    </tr>
1898    <tr>
1899
1900      <td>org.eclipse.jdt.junit.runtime</td>
1901      <td><div align="center">1.4</div></td>
1902    </tr>
1903    <tr>
1904      <td>org.eclipse.jdt.junit4.runtime</td>
1905      <td><div align="center">1.5</div></td>
1906    </tr>
1907
1908    <tr>
1909      <td>org.eclipse.jdt.launching</td>
1910      <td><div align="center">1.4</div></td>
1911    </tr>
1912    <tr>
1913      <td>org.eclipse.jdt.source</td>
1914      <td><div align="center">n/a</div></td>
1915
1916    </tr>
1917    <tr>
1918      <td>org.eclipse.jdt.ui</td>
1919      <td><div align="center">1.4</div></td>
1920    </tr>
1921    <tr>
1922      <td>org.eclipse.jface</td>
1923
1924      <td><div align="center">F1.0</div></td>
1925    </tr>
1926    <tr>
1927      <td>org.eclipse.jface.text</td>
1928      <td><div align="center">1.4</div></td>
1929    </tr>
1930    <tr>
1931
1932      <td>org.eclipse.jsch.core</td>
1933      <td><div align="center">1.4</div></td>
1934    </tr>
1935    <tr>
1936      <td>org.eclipse.jsch.ui</td>
1937      <td><div align="center">1.4</div></td>
1938    </tr>
1939
1940    <tr>
1941      <td>org.eclipse.ltk.core.refactoring</td>
1942      <td><div align="center">1.4</div></td>
1943    </tr>
1944    <tr>
1945      <td>org.eclipse.ltk.ui.refactoring</td>
1946      <td><div align="center">1.4</div></td>
1947
1948    </tr>
1949    <tr>
1950      <td>org.eclipse.osgi (system.bundle)</td>
1951      <td><div align="center">M1.0</div></td>
1952    </tr>
1953    <tr>
1954      <td>org.eclipse.osgi.services</td>
1955
1956      <td><div align="center">M1.0</div></td>
1957    </tr>
1958    <tr>
1959      <td>org.eclipse.osgi.util</td>
1960      <td><div align="center">M1.0</div></td>
1961    </tr>
1962    <tr>
1963
1964      <td>org.eclipse.pde</td>
1965      <td><div align="center">1.4</div></td>
1966    </tr>
1967    <tr>
1968      <td>org.eclipse.pde.build</td>
1969      <td><div align="center">1.4</div></td>
1970    </tr>
1971
1972    <tr>
1973      <td>org.eclipse.pde.core</td>
1974      <td><div align="center">1.4</div></td>
1975    </tr>
1976    <tr>
1977      <td>org.eclipse.pde.doc.user</td>
1978      <td><div align="center">n/a</div></td>
1979
1980    </tr>
1981    <tr>
1982      <td>org.eclipse.pde.junit.runtime</td>
1983      <td><div align="center">1.4</div></td>
1984    </tr>
1985    <tr>
1986      <td>org.eclipse.pde.runtime</td>
1987
1988      <td><div align="center">1.4</div></td>
1989    </tr>
1990    <tr>
1991      <td>org.eclipse.pde.source</td>
1992      <td><div align="center">n/a</div></td>
1993    </tr>
1994    <tr>
1995
1996      <td>org.eclipse.pde.ui</td>
1997      <td><div align="center">1.4</div></td>
1998    </tr>
1999    <tr>
2000      <td>org.eclipse.pde.ui.templates</td>
2001      <td><div align="center">1.4</div></td>
2002    </tr>
2003
2004    <tr>
2005      <td>org.eclipse.platform</td>
2006      <td><div align="center">F1.0</div></td>
2007    </tr>
2008    <tr>
2009      <td>org.eclipse.platform.doc.isv</td>
2010      <td><div align="center">n/a</div></td>
2011
2012    </tr>
2013    <tr>
2014      <td>org.eclipse.platform.doc.user</td>
2015      <td><div align="center">n/a</div></td>
2016    </tr>
2017    <tr>
2018      <td>org.eclipse.platform.source</td>
2019
2020      <td><div align="center">n/a</div></td>
2021    </tr>
2022    <tr>
2023      <td>org.eclipse.platform.source.*</td>
2024      <td><div align="center">n/a</div></td>
2025    </tr>
2026    <tr>
2027
2028      <td>org.eclipse.rcp</td>
2029      <td><div align="center">F1.0</div></td>
2030    </tr>
2031    <tr>
2032      <td>org.eclipse.rcp.source</td>
2033      <td><div align="center">n/a</div></td>
2034    </tr>
2035
2036    <tr>
2037      <td>org.eclipse.rcp.source.*</td>
2038      <td><div align="center">n/a</div></td>
2039    </tr>
2040    <tr>
2041      <td>org.eclipse.sdk</td>
2042      <td><div align="center">n/a</div></td>
2043
2044    </tr>
2045    <tr>
2046      <td>org.eclipse.search</td>
2047      <td><div align="center">1.4</div></td>
2048    </tr>
2049    <tr>
2050      <td>org.eclipse.swt</td>
2051
2052      <td bgcolor="#ffffff"><div align="center">M1.0</div></td>
2053    </tr>
2054    <tr>
2055      <td>org.eclipse.swt.*</td>
2056      <td bgcolor="#ffffff"><div align="center">M1.0</div></td>
2057    </tr>
2058    <tr>
2059
2060      <td>org.eclipse.team.core</td>
2061      <td><div align="center">1.4</div></td>
2062    </tr>
2063    <tr>
2064      <td>org.eclipse.team.cvs.core</td>
2065      <td><div align="center">1.4</div></td>
2066    </tr>
2067
2068    <tr>
2069      <td>org.eclipse.team.cvs.ssh</td>
2070      <td><div align="center">1.4</div></td>
2071    </tr>
2072    <tr>
2073      <td>org.eclipse.team.cvs.ssh2</td>
2074      <td><div align="center">1.4</div></td>
2075
2076    </tr>
2077    <tr>
2078      <td>org.eclipse.team.cvs.ui</td>
2079      <td><div align="center">1.4</div></td>
2080    </tr>
2081    <tr>
2082      <td>org.eclipse.team.ui</td>
2083
2084      <td><div align="center">1.4</div></td>
2085    </tr>
2086    <tr>
2087      <td>org.eclipse.text</td>
2088      <td><div align="center">1.4</div></td>
2089    </tr>
2090    <tr>
2091
2092      <td>org.eclipse.tomcat</td>
2093      <td><div align="center">n/a</div></td>
2094    </tr>
2095    <tr>
2096      <td>org.eclipse.ui</td>
2097      <td><div align="center">F1.0</div></td>
2098    </tr>
2099
2100    <tr>
2101      <td>org.eclipse.ui.browser</td>
2102      <td><div align="center">1.4</div></td>
2103    </tr>
2104    <tr>
2105      <td>org.eclipse.ui.cheatsheets</td>
2106      <td><div align="center">1.4</div></td>
2107
2108    </tr>
2109    <tr>
2110      <td>org.eclipse.ui.console</td>
2111      <td><div align="center">1.4</div></td>
2112    </tr>
2113    <tr>
2114      <td>org.eclipse.ui.editors</td>
2115
2116      <td><div align="center">1.4</div></td>
2117    </tr>
2118    <tr>
2119      <td>org.eclipse.ui.externaltools</td>
2120      <td><div align="center">1.4</div></td>
2121    </tr>
2122    <tr>
2123
2124      <td>org.eclipse.ui.forms</td>
2125      <td><div align="center">1.4</div></td>
2126    </tr>
2127    <tr>
2128      <td>org.eclipse.ui.ide</td>
2129      <td><div align="center">1.4</div></td>
2130
2131    </tr>
2132    <tr>
2133      <td>org.eclipse.ui.intro</td>
2134      <td><div align="center">1.4</div></td>
2135    </tr>
2136    <tr>
2137      <td>org.eclipse.ui.intro.universal</td>
2138
2139      <td><div align="center">1.4</div></td>
2140    </tr>
2141    <tr>
2142      <td>org.eclipse.ui.navigator</td>
2143      <td><div align="center">1.4</div></td>
2144    </tr>
2145    <tr>
2146
2147      <td>org.eclipse.ui.navigator.resources</td>
2148      <td><div align="center">1.4</div></td>
2149    </tr>
2150    <tr>
2151      <td>org.eclipse.ui.net</td>
2152      <td><div align="center">1.4</div></td>
2153    </tr>
2154
2155    <tr>
2156      <td>org.eclipse.ui.presentations.r21</td>
2157      <td><div align="center">1.4</div></td>
2158    </tr>
2159    <tr>
2160      <td>org.eclipse.ui.views</td>
2161      <td><div align="center">1.4</div></td>
2162
2163    </tr>
2164    <tr>
2165      <td>org.eclipse.ui.win32</td>
2166      <td><div align="center">1.4</div></td>
2167    </tr>
2168    <tr>
2169      <td>org.eclipse.ui.workbench</td>
2170
2171      <td><div align="center">F1.0</div></td>
2172    </tr>
2173    <tr>
2174      <td>org.eclipse.ui.workbench.compatibility</td>
2175      <td><div align="center">1.4</div></td>
2176    </tr>
2177    <tr>
2178
2179      <td>org.eclipse.ui.workbench.texteditor</td>
2180      <td><div align="center">1.4</div></td>
2181    </tr>
2182    <tr>
2183      <td>org.eclipse.update.configurator</td>
2184      <td bgcolor="#ffffff"><div align="center">F1.0</div></td>
2185    </tr>
2186
2187    <tr>
2188      <td>org.eclipse.update.core</td>
2189      <td bgcolor="#ffffff"><div align="center">F1.0</div></td>
2190    </tr>
2191    <tr>
2192      <td>org.eclipse.update.core.linux</td>
2193      <td bgcolor="#ffffff"><div align="center">F1.0</div></td>
2194
2195    </tr>
2196    <tr>
2197      <td>org.eclipse.update.core.win32</td>
2198      <td bgcolor="#ffffff"><div align="center">F1.0</div></td>
2199    </tr>
2200    <tr>
2201      <td>org.eclipse.update.scheduler</td>
2202
2203      <td bgcolor="#ffffff"><div align="center">F1.0</div></td>
2204    </tr>
2205    <tr>
2206      <td>org.eclipse.update.ui</td>
2207      <td><div align="center">F1.0</div></td>
2208    </tr>
2209    <tr>
2210
2211      <td>org.junit (old)</td>
2212      <td><div align="center">1.4</div></td>
2213    </tr>
2214    <tr>
2215      <td>org.junit (JUnit4)</td>
2216      <td><div align="center">1.5</div></td>
2217    </tr>
2218
2219    <tr>
2220      <td>org.mortbay.jetty</td>
2221      <td><div align="center">F1.0</div></td>
2222    </tr>
2223  </tbody>
2224</table>
2225
2226</body>
2227</html>