blob: e4588fd0d9f61d248e83b806c2d74e8bded9c2ad [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta
http-equiv="Content-Type"
content="text/html; charset=UTF-8" />
<title>Eclipse Project Release Notes 4.16</title>
<!-- Please validate as "xhtml1 strict", at
https://validator.w3.org/check?uri=http%3A%2F%2Fwww.eclipse.org%2Feclipse%2Fdevelopment%2Freadme_eclipse_4.16.html;ss=1
(It must be "on website" to validate.)
-->
</head>
<body>
<h1>
<a
class="mozTocH1"
name="mozTocId299852">Eclipse Project Release Notes</a>
</h1>
<p>
<a
class="mozTocH1"
name="mozTocId299852">Release 4.16</a>
</p>
<p>
<a
class="mozTocH1"
name="mozTocId299852">Last revised May 26, 2020</a>
</p>
<!--
This following link to www.eclipse.org should be commented out
or removed in final version of the
"web version" of the readme, since it does not make sense to
have there. But in the "product's readme" it will point people
to "the latest version" since there _might_ be changes made
after the release.
<p>
The latest version of this document can be found on the web at <a href="https://www.eclipse.org/eclipse/development/readme_eclipse_4.16.php">Eclipse Release Notes 4.16</a>. There may or may
not be changes made after the product is released. You can tell by checking the "last revised" date near the top of this page.
</p>
-->
<p style="text-align: left; font-weight: bold;">
<a
class="mozTocH1"
name="mozTocId299852"> This software is OSI Certified Open Source Software.<br /> OSI Certified is a certification mark of the Open Source Initiative.
</a>
</p>
<h2 id="TargetOperatingEnvironments1">
<a
class="mozTocH2"
name="mozTocId438134" />
</h2>
<ol id="mozToc">
<!--mozToc h1 1 h2 2 h3 3 h4 4 h5 5 h6 6-->
<li><a href="#mozTocId299852">Eclipse Project Release Notes</a>
<ol>
<li><a href="#mozTocId315234">Target Operating Environments</a></li>
<li><a href="#mozTocId569479">Compatibility with Previous Releases</a>
<ol>
<li><a href="#mozTocId324309">Compatibility of Release 4.16 with 4.15</a></li>
</ol></li>
<li><a href="#mozTocId214943">Known Issues</a>
<ol>
<li><a href="#mozTocId758150">General problems</a></li>
<li><a href="#mozTocId559320">General - Startup</a>
<ol>
<li><a href="#mozTocId693657">Installation/Configuration issues that can cause Eclipse to fail start</a></li>
<li><a href="#mozTocId337416"> Invalid characters in install directory prevents Eclipse from starting </a></li>
<li><a href="#mozTocId639565">Hanging during class loading when out of permanent generation memory</a></li>
</ol></li>
<li><a href="#mozTocId148479">General - GCJ</a>
<ol>
<li><a href="#mozTocId584602">Problems with classloaders in created threads</a></li>
<li><a href="#mozTocId403443">Deadlock creating executable extension in Plugin.startup</a></li>
<li><a href="#mozTocId984286">Potential Problems Converting Plug-in Manifests</a></li>
<li><a href="#mozTocId993987">Location for Debug Options File on Mac OS</a></li>
<li><a href="#mozTocId808188">Issues with JNI that use FindClass</a></li>
</ol></li>
<li><a href="#mozTocId324774">Platform - Ant</a>
<ol>
<li><a href="#mozTocId480194">Custom Ant tasks and Ant types must be separate from plug-in library JARs</a></li>
<li><a href="#mozTocId912215">XDoclet support from within Eclipse</a></li>
<li><a href="#mozTocId31051">Ant Editor code completion based on Ant 1.6.x</a></li>
<li><a href="#mozTocId925603">Setting build loggers not supported when debugging Ant builds</a></li>
<li><a href="#mozTocId669417">Renaming an External Tool builder set to run during auto-build will cause errors</a></li>
<li><a href="#mozTocId772119">Slow typing/saving of the Ant editor with imports that define numerous macrodefs</a></li>
<li><a href="#mozTocId715004">Ant 1.8.x reports missing libraries as build failures</a></li>
</ol></li>
<li><a href="#mozTocId876322">Platform - User Assistance</a>
<ol>
<li><a href="#mozTocId828477">Welcome page not displayed properly (Linux/Unix)</a></li>
<li><a href="#mozTocId26110">Help browser tool bar buttons do not work for some documents</a></li>
<li><a href="#mozTocId324012">Help documents not displayed in a browser or very slow document loading (Windows only)</a></li>
<li><a href="#mozTocId227368">Working disconnected from the network (Windows only)</a></li>
<li><a href="#mozTocId121403">Using Internet Explorer in offline mode (Windows only)</a></li>
</ol></li>
<li><a href="#mozTocId683637">Platform - UI</a>
<ol>
<li><a href="#mozTocId348035">Dirty state not tracked properly for OLE documents (Windows only)</a></li>
<li><a href="#mozTocId878052">OLE document crashes can cause Eclipse to also crash (Windows only)</a></li>
<li><a href="#mozTocId452707">Toolbars only containing contributed controls exhibit display errors on Mac/Linux</a></li>
<li><a href="#mozTocId443682">Allocating enough memory and solving OutOfMemoryError</a></li>
<li><a href="#mozTocId862142">Capabilities and Activities don't affect the menus and toolbars</a></li>
</ol></li>
<li><a href="#mozTocId554478">Platform - SWT</a>
<ol>
<li><a href="#mozTocId534426">Usage of swt.autoScale and GDK_SCALE flag on GTK platforms</a></li>
<li><a href="#mozTocId554478">Non-uniform scaling of text vs. icons when using intermediate scaling factors on high-DPI displays</a></li>
<li><a href="#mozTocId69222">Eclipse plug-in based on the SWT Browser throws exception</a></li>
<li><a href="#mozTocId238090">Eclipse icon is duplicated in task-bar on Windows</a></li>
<li><a href="#mozTocId414883">BIDI Segments in Text controls</a></li>
<li><a href="#mozTocId518357">Block Selection functionality provided by StyledText is not BIDI aware</a></li>
</ol></li>
<li><a href="#mozTocId805874">Platform - Install/Update</a>
<ol>
<li><a href="#mozTocId914600">Manually installing features and plug-ins on a FAT file system (Windows only)</a></li>
<li><a href="#mozTocId648565">Connecting to untrusted sites using https</a></li>
<li><a href="#mozTocId104394">Extension location is lost if the install path changes</a></li>
</ol></li>
<li><a href="#mozTocId428861">Java development tools (JDT)</a>
<ol>
<li><a href="#mozTocId180305">Multiple regions formatting in a given source snippet</a></li>
<li><a href="#mozTocId589358">Searching for constant field references</a></li>
<li><a href="#mozTocId577868">Cut, copy, paste not working for linked resources in views showing Java elements</a></li>
<li><a href="#mozTocId554543">Java working sets not working correctly for elements from JRE system library container</a></li>
<li><a href="#mozTocId157019">Breakpoints unreliable running Sun 1.6.0_14</a></li>
<li><a href="#mozTocId440090">Suspend on uncaught exception overrides exception breakpoint location filters</a></li>
<li><a href="#mozTocId812347">Running Java programs with non-Latin-1 characters in package or class names</a></li>
<li><a href="#mozTocId638407">Cannot run or debug class in a project with GB18030 characters in project name</a></li>
<li><a href="#mozTocId994970">Cannot detect installed JRE with GB18030 characters in path name</a></li>
<li><a href="#mozTocId324283">Cannot generate Javadoc for packages with GB18030 characters in the name</a></li>
<li><a href="#mozTocId524553">Unable to debug stack overflows</a></li>
<li><a href="#mozTocId162517">Evaluation limitation</a></li>
<li><a href="#mozTocId408387">Missing debug attributes</a></li>
<li><a href="#mozTocId330034">Using Hot Code Replace</a></li>
<li><a href="#mozTocId976120">Scrapbook</a></li>
<li><a href="#mozTocId666507">Debugging over slow connections</a></li>
<li><a href="#mozTocId207158">Updating of inspected values</a></li>
<li><a href="#mozTocId821393">Stepping over native methods that perform I/O</a></li>
<li><a href="#mozTocId606104">Java Annotation Processing</a></li>
<li><a href="#mozTocId188069">Java indexing encounters problems when a folder is used both as a source and a class folder</a></li>
</ol></li>
<li><a href="#mozTocId25456">Plug-in Development Environment (PDE)</a>
<ol>
<li><a href="#mozTocId179699">Feature manifest editor does not preserve all comments</a></li>
<li><a href="#mozTocId243421">PDE will not unzip source zips of some plug-ins</a></li>
<li><a href="#mozTocId722932">Emacs key bindings do not work in manifest editor fields</a></li>
<li><a href="#mozTocId828449">Export of plug-in may silently drop classes</a></li>
<li><a href="#mozTocId89714">Compilation errors when exporting projects not stored outside of the workspace</a></li>
<li><a href="#mozTocId270371">Headless build needs to be run from a fully qualified path</a></li>
<li><a href="#mozTocId73293">Importing in Eclipse application fails if plug-in exists in host workspace</a></li>
<li><a href="#mozTocId914239">Reusing a workspace after changing architectures silently breaks PDE models</a></li>
<li><a href="#mozTocId624312">Missing @since tag API Tools problems on interface fields containing @noreference tag</a></li>
</ol></li>
</ol></li>
</ol></li>
<li><a href="#mozTocId19817">Running Eclipse</a>
<ol>
<li><a href="#mozTocId60052">Allocating enough memory and solving OutOfMemoryErrors</a></li>
<li><a href="#mozTocId735187">Selecting a workspace</a></li>
<li><a href="#mozTocId620725">Specifying the Java virtual machine</a></li>
<li><a href="#mozTocId928700">Mac OS X</a></li>
<li><a href="#mozTocId221199">Shared Install</a></li>
</ol></li>
<li><a href="#mozTocId575572">Upgrading Workspace from a Previous Release</a>
<ol>
<li><a href="#mozTocId401691">Users who don't use "-data"</a></li>
<li><a href="#mozTocId197750">Users who do use "-data"</a></li>
<li><a href="#mozTocId839433">Users who use User Libraries or classpath containers that contain JARs referencing other libraries via Class-Path in the MANIFEST.MF</a></li>
<li><a href="#mozTocId623237">Dropped in bundles may not resolve after upgrade</a></li>
</ol></li>
<li><a href="#mozTocId638978">Interoperability with Previous Releases</a>
<ol>
<li><a href="#mozTocId759237">Interoperability of Release 4.16 with previous releases</a>
<ol>
<li><a href="#mozTocId226004">Sharing projects between heterogeneous Eclipse 4.16 and 4.15</a></li>
<li><a href="#mozTocId574781">Using Eclipse 4.16 to develop plug-ins that work in Eclipse 4.15</a></li>
</ol>
</li>
</ol></li>
<li><a href="#mozTocId317294">Appendix: Execution Environment by Bundle</a></li>
</ol>
<h2 id="TargetOperatingEnvironments2">
<a
class="mozTocH2"
name="mozTocId315234" />Target Operating Environments
</h2>
<p>In order to remain current, each Eclipse Project release targets reasonably current operating environments.</p>
<p>Most of the Eclipse SDK is "pure" Java code and has no direct dependence on the underlying operating system. The chief dependence is therefore on the Java Platform itself. Portions are
targeted to specific classes of operating environments, requiring their source code to only reference facilities available in particular class libraries (e.g. J2ME Foundation 1.1, J2SE 1.4, Java
5, etc).</p>
<p>In general, the 4.16 release of the Eclipse Project is developed on Java SE 8 VMs. As such, the Eclipse SDK as a whole is targeted at all modern, desktop Java VMs.</p>
<p>
<a href="#appendix">Appendix 1</a> contains a table that indicates the class library level required for each bundle.
</p>
<p>
There are many different implementations of the Java Platform running atop a variety of operating systems. We focus our testing on a handful of popular combinations of operating system and Java
Platform; these are our <em>reference platforms</em>. Eclipse undoubtedly runs fine in many operating environments beyond the reference platforms we test. However, since we do not systematically
test them we cannot vouch for them. Problems encountered when running Eclipse on a non-reference platform that cannot be recreated on any reference platform will be given lower priority than
problems with running Eclipse on a reference platform.
</p>
<p>
Eclipse 4.16 is tested and validated on a number of reference platforms. For the complete list, see <a
href="https://www.eclipse.org/projects/project-plan.php?planurl=http://www.eclipse.org/eclipse/development/plans/eclipse_project_plan_4_16.xml#target_environments">Target Environments in the
4.16 Plan</a>.
</p>
<p>
As stated above, <i>we expect that Eclipse works fine on other current Java VM and OS versions but we cannot flag these as reference platforms without significant community support for testing
them.</i>
</p>
<p>The Eclipse SDK is designed as the basis for internationalized products. The user interface elements provided by the Eclipse SDK components, including dialogs and error messages, are
externalized. The English strings are provided as the default resource bundles.</p>
<p>Latin-1, DBCS, and BiDi locales are supported by the Eclipse SDK on all reference platforms.</p>
<p>The Eclipse SDK supports GB 18030 (level 1), the Chinese code page standard, on Windows, Linux and the Macintosh.</p>
<p>German and Japanese locales are tested.</p>
<h2 id="Compatibility">
<a
class="mozTocH2"
name="mozTocId569479">Compatibility with Previous Releases</a>
</h2>
<h3>
<a
class="mozTocH3"
name="mozTocId324309">Compatibility of Release 4.16 with 4.15</a>
</h3>
<p>
<a
class="mozTocH3"
name="mozTocId324309">Eclipse 4.16 is compatible with Eclipse 4.15 (and all earlier 4.x and 3.x versions).</a>
</p>
<p>
<a
class="mozTocH3"
name="mozTocId324309"> <strong>API Contract Compatibility:</strong> Eclipse SDK 4.16 is upwards contract-compatible with Eclipse SDK 4.15 except in those areas noted in the
</a><a href="http://www.eclipse.org/eclipse/development/porting/eclipse_4_16_porting_guide.html"><em>Eclipse 4.16 Plug-in Migration Guide</em></a>. Programs that use affected APIs and extension points
will need to be ported to Eclipse SDK 4.16 APIs. Downward contract compatibility is not supported. There is no guarantee that compliance with Eclipse SDK 4.16 APIs would ensure compliance with
Eclipse SDK 4.15 APIs. Refer to <a href="https://wiki.eclipse.org/Evolving_Java-based_APIs"><em>Evolving Java-based APIs</em></a> for a discussion of the kinds of API changes that maintain contract
compatibility.
</p>
<p>
<strong>Binary (plug-in) Compatibility:</strong> Eclipse SDK 4.16 is upwards binary-compatible with Eclipse SDK 4.15 except in those areas noted in the <a
href="http://www.eclipse.org/eclipse/development/porting/eclipse_4_16_porting_guide.html"><em>Eclipse 4.16 Plug-in Migration Guide</em> </a>. Downward plug-in compatibility is not supported.
Plug-ins for Eclipse SDK 4.16 will not be usable in Eclipse SDK 4.15. Refer to <a href="https://wiki.eclipse.org/Evolving_Java-based_APIs"> <em>Evolving Java-based APIs</em></a> for a discussion of
the kinds of API changes that maintain binary compatibility.
</p>
<p>
<strong>Source Compatibility:</strong> Eclipse SDK 4.16 is upwards source-compatible with Eclipse SDK 4.15 except in the areas noted in the <a
href="http://www.eclipse.org/eclipse/development/porting/eclipse_4_16_porting_guide.html"><em>Eclipse 4.16 Plug-in Migration Guide</em> </a>. This means that source files written to use Eclipse
SDK 4.16 APIs might successfully compile and run against Eclipse SDK 4.15 APIs, although this is not guaranteed. Downward source compatibility is not supported. If source files use new Eclipse SDK
APIs, they will not be usable with an earlier version of the Eclipse SDK.
</p>
<p>
<strong>Workspace Compatibility:</strong> Eclipse SDK 4.16 is upwards workspace-compatible with earlier 3.x and 4.x versions of the Eclipse SDK unless noted. This means that workspaces and projects
created with Eclipse SDK 4.15, 4.14, 4.13, 4.12, 4.11, 4.10, 4.9, 4.8, 4.7, 4.6, 4.5, 4.4, 4.3, 4.2, ... 3.0 can be successfully opened by Eclipse SDK 4.16 and upgraded to a 4.16 workspace. This includes both hidden metadata, which is localized to a
particular workspace, as well as metadata files found within a workspace project (e.g., the .project file), which may propagate between workspaces via file copying or team repositories. Individual
plug-ins developed for Eclipse SDK 4.16 should provide similar upwards compatibility for their hidden and visible workspace metadata created by earlier versions; 4.16 plug-in developers are
responsible for ensuring that their plug-ins recognize metadata from earlier versions and process it appropriately. User interface session state may be discarded when a workspace is upgraded.
Downward workspace compatibility is not supported. A workspace created (or opened) by a product based on Eclipse 4.16 will be unusable with a product based on an earlier version of Eclipse. Visible
metadata files created (or overwritten) by Eclipse 4.16 will generally be unusable with earlier versions of Eclipse.
</p>
<p>
<strong>Non-compliant usage of API's</strong>: All non-API methods and classes, and certainly everything in a package with "internal" in its name or x-internal in the bundle manifest entry, are
considered implementation details which may vary between operating environment and are subject to change without notice. Client plug-ins that directly depend on anything other than what is
specified in the Eclipse SDK API are inherently unsupportable and receive no guarantees about compatibility within a single release much less with earlier releases. Refer to <a
href="https://www.eclipse.org/articles/Article-API-Use/index.html"> <em>How to Use the Eclipse API</em></a> for information about how to write compliant plug-ins.
</p>
<h2 id="KnownIssues">
<a
class="mozTocH2"
name="mozTocId214943">Known Issues</a>
</h2>
<p>
<a
class="mozTocH2"
name="mozTocId214943"> Note: Bug numbers refer to the Eclipse project bug database at </a><a href="http://dev.eclipse.org/bugs/">http://bugs.eclipse.org/bugs/</a>
</p>
<h3 id="I-General">
<a
class="mozTocH3"
name="mozTocId758150">General problems</a>
</h3>
<h3 id="I-General-Startup">
<a
class="mozTocH3"
name="mozTocId559320">General - Startup</a>
</h3>
<h4>
<a
class="mozTocH4"
name="mozTocId693657">Installation/Configuration issues that can cause Eclipse to fail start</a>
</h4>
<p>
<a
class="mozTocH4"
name="mozTocId693657">Here are some common problems that can cause Eclipse not to start:</a>
</p>
<ul>
<li>Running Eclipse with Java SE 9 and above may require additional configuration. Please refer to <a href="https://wiki.eclipse.org/Configure_Eclipse_for_Java_9">this page</a> for more details.</li>
<li><a
class="mozTocH4"
name="mozTocId693657">As shown </a><a href="#TargetOperatingEnvironments">above</a>, Eclipse 4.16 requires at least a Java SE 8. Perhaps an older version of the VM is being found in your path. To
explicitly specify which VM to run with, use the Eclipse <code>-vm</code> command-line argument. (See also the <a href="#RunningEclipse">Running Eclipse</a> section below.)</li>
<li>Running Eclipse on Gentoo Linux may result in the following error message:
<div style="margin-left: 40px;">
<code>
* 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
</code>
</div> If this occurs, start Eclipse by specifying a -vm argument, either specify the path to a java vm or use: <code>eclipse -vm `java-config</code> --java` (bug <a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=176021">176021</a>)
</li>
<li>Eclipse must be installed to a clean directory and not installed over top of a previous installation. If you have done this then please re-install to a new directory. If your workspace is
in a child directory of your old installation directory, then see the instructions below on "<a href="#Upgrading">Upgrading Workspace from a Previous Release"</a>.
</li>
<li>Java sometimes has difficulty detecting whether a file system is writable. In particular, the method java.io.File.canWrite() appears to return true in unexpected cases (e.g., using
Windows drive sharing where the share is a read-only Samba drive). The Eclipse runtime generally needs a writable configuration area and as a result of this problem, may erroneously detect the
current configuration location as writable. The net result is that Eclipse will fail to start and depending on the circumstances, may fail to write a log file with any details. To work around
this, we suggest users experiencing this problem set their configuration area explicitly using the <code>-configuration</code> command line argument. (bug <a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67719">67719</a>)
</li>
</ul>
<h4>
<a
class="mozTocH4"
name="mozTocId337416"> <b>Invalid characters in install directory prevents Eclipse from starting</b>
</a>
</h4>
<p>
<a
class="mozTocH4"
name="mozTocId337416"> Eclipse will fail to launch if installed in a directory whose path contains certain invalid characters, including :%#&lt;&gt;"!. The workaround is to install Eclipse
in a directory whose path does not contain invalid characters. (bugs </a><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=3109">3109</a> and <a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=17281">17281</a>)
</p>
<h4>
<a
class="mozTocH4"
name="mozTocId639565">Hanging during class loading when out of permanent generation memory</a>
</h4>
<p>
<a
class="mozTocH4"
name="mozTocId639565"> The Oracle JVM may hang indefinitely during class loading if it runs out of permanent generation memory. This will cause CPU usage to stay at 100% until the process is
ended. See the section </a><a href="#RunningEclipse">Running Eclipse</a> for details on addressing this VM problem.
</p>
<h3 id="I-General-GCJ">
<a
class="mozTocH3"
name="mozTocId148479">General - GCJ</a>
</h3>
<p>
<a
class="mozTocH3"
name="mozTocId148479">GCJ is an effort by the GCC team to provide an open source Java compiler and runtime environment to interpret Java bytecode. Unfortunately, the GCJ runtime environment
is not an environment that is often tested on by Eclipse developers.</a>
</p>
<p>
<a
class="mozTocH3"
name="mozTocId148479">The most common problems surrounding GCJ are:</a>
</p>
<ul>
<li><a
class="mozTocH3"
name="mozTocId148479">Eclipse does not start at all</a></li>
<li><a
class="mozTocH3"
name="mozTocId148479">Eclipse throws a 'java.lang.ClassNotFoundException: org.eclipse.core.runtime.Plugin' that can be found in the logs (located in workspace/.metadata/.log)</a></li>
</ul>
<p>
<a
class="mozTocH3"
name="mozTocId148479"> The workspace's log file is a good place to check to identify whether GCJ is being used or not. Every Eclipse log session is prepended with information about the
runtime environment that was used to run Eclipse. The log may include something like the following: <code>java.fullversion=GNU libgcj 4.2.1 (Debian 4.2.1-5)</code>
</a>
</p>
<p>
<a
class="mozTocH3"
name="mozTocId148479"> If Eclipse does start, one can check which runtime environment is being used to run Eclipse by going to <b>Help &gt; About Eclipse SDK &gt; Installation Details
&gt; Configuration</b>. The <b>About</b> dialog itself can also provide other information, the build identifier can be of particular interest as it is tagged by some distributions. This allows the
user to identify whether Eclipse was downloaded through the distribution's package management system or directly from the eclipse.org web site. <br /> Such as:<br /> <code>Build id:
M20070212-1330 (Ubuntu version: 3.2.2-0ubuntu3)</code>
</a>
</p>
<p>
<a
class="mozTocH3"
name="mozTocId148479">The two most common workarounds are:</a>
</p>
<ul>
<li><a
class="mozTocH3"
name="mozTocId148479">download the Eclipse binary from eclipse.org directly</a></li>
<li><a
class="mozTocH3"
name="mozTocId148479">run Eclipse using an alternate Java runtime environment</a></li>
</ul>
<p>
<a
class="mozTocH3"
name="mozTocId148479">To download Eclipse, try one of the links below:</a>
</p>
<ul>
<li><a href="http://www.eclipse.org/downloads/">http://www.eclipse.org/downloads/</a></li>
<li><a href="http://download.eclipse.org/eclipse/downloads/">http://download.eclipse.org/eclipse/downloads/</a></li>
</ul>
<p>
It is imperative that 64-bit builds are downloaded and used if a 64-bit Java runtime environment has been installed. Below is a sample tarball names of version 4.16 of the Eclipse SDK packaged
for 64-bit processors.<br />
<code>eclipse-SDK-4.16-linux-gtk-x86_64.tar.gz (64-bit)</code>
</p>
<p>
To run Eclipse with an alternate Java runtime environment, the path to the Java virtual machine's binary must be identified. With an Eclipse installation from the distribution, altering the $PATH
variable to include the path to the alternate Java runtime environment is often not enough as the Eclipse that Linux distributions package often performs a scan internally to pick up GCJ by itself
whilst ignoring what's on the $PATH. An example of the terminal's output is shown below:<br />
<code>
searching for compatible vm...<br /> testing /usr/lib/jvm/java-gcj...found
</code>
</p>
<p>
Once the path to the virtual machine's binary has been identified, try running Eclipse with the following command:<br />
<code>./eclipse -vm /path/to/jre/bin/java</code>
</p>
<p>
For an actual example, it might look something like the following:<br />
<code>
./eclipse -vm /usr/lib/jvm/java-8/bin/java<br /> ./eclipse -vm /opt/jdk-1.8/bin/java
</code>
</p>
<p>
If this seems to solve the problem, it is likely that the problem really was related to the use of GCJ as the Java runtime for running Eclipse. The eclipse.ini file located within Eclipse's folder
can be altered to automatically pass this argument to Eclipse at startup. An example of its content is presented below:<br />
<code>
-showsplash<br /> org.eclipse.platform<br /> -vm<br /> /opt/jdk-1.8/bin/java<br /> -vmargs<br /> -Xms256m<br /> -Xmx1024m
</code>
</p>
<p>
Note that every argument must be on its own line. More information about the eclipse.ini file can be found at <a href="http://wiki.eclipse.org/Eclipse.ini">http://wiki.eclipse.org/Eclipse.ini</a>.
</p>
<p>
If problems persists after downloading an installation of Eclipse from eclipse.org and using a supported Java runtime environment (a list of which may be found <a
href="#TargetOperatingEnvironments">above</a>), you can seek further assistance through the <a href="https://www.eclipse.org/forums/">forums</a>, the IRC <a
href="irc://irc.freenode.net/#eclipse">channel</a>, and/or <a href="https://bugs.eclipse.org/bugs/">bugzilla</a>.
</p>
<h4>
<a
class="mozTocH4"
name="mozTocId584602">Problems with classloaders in created threads</a>
</h4>
<p>
<a
class="mozTocH4"
name="mozTocId584602"> There is a known issue with trying to load classes from a newly-created thread using a class loader different from the plug-in class loader. The result will be a <code>ClassNotFoundException</code>
. As a workaround, do the following:
</a>
</p>
<ol>
<li><a
class="mozTocH4"
name="mozTocId584602">Create a thread in which to run your code.</a></li>
<li><a
class="mozTocH4"
name="mozTocId584602">Send yourThread.setContextClassLoader(yourClassLoader); // you can find your classloader by grabbing a class it loaded (YourPluginClass.class.getClassLoader())</a></li>
<li><a
class="mozTocH4"
name="mozTocId584602">Run your code in the newly created thread.</a></li>
</ol>
<p>
<a
class="mozTocH4"
name="mozTocId584602"> If you set the context class loader for the current thread, you are competing with other users of the thread (all of Eclipse), so the results will be unpredictable.
However, there should be no problem in practice provided you reset the context class loader back to its original value when your use in the current thread is complete. (bug </a><a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=8907">8907</a>)
</p>
<h4>
<a
class="mozTocH4"
name="mozTocId403443">Deadlock creating executable extension in Plugin.startup</a>
</h4>
<p>
<a
class="mozTocH4"
name="mozTocId403443"> If <code>Plugin.startup</code> code is too complex and performs tasks such as creating an executable extension, a deadlock situation can be created. Only simple
bookkeeping tasks should be performed in <code>Plugin.startup</code> code. (bug
</a><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=5875">5875</a>)
</p>
<h4>
<a
class="mozTocH4"
name="mozTocId984286">Potential Problems Converting Plug-in Manifests</a>
</h4>
<p>
<a
class="mozTocH4"
name="mozTocId984286"> If your plug-in ships with a plug-in manifest and not an OSGi bundle manifest, is shipped as a JAR file, and contains a nested JAR file then there may be problems in
the automatic generation of the bundle manifest file. The packages defined in the nested JAR may not be exported correctly in the <code>Export-packages</code> bundle manifest header. To work
around this you should ship your plug-in with a bundle manifest. (bug
</a><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=97689">97689</a>)
</p>
<h4>
<a
class="mozTocH4"
name="mozTocId993987">Location for Debug Options File on Mac OS</a>
</h4>
<p>
<a
class="mozTocH4"
name="mozTocId993987"> If you are running in debug mode on Mac OS, the default location for the .options file is inside the application bundle in the Eclipse.app/Contents/MacOS directory
(like the eclipse.ini). (bug </a><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=88782">88782</a>)
</p>
<h4>
<a
class="mozTocH4"
name="mozTocId808188">Issues with JNI that use FindClass</a>
</h4>
<p>
<a
class="mozTocH4"
name="mozTocId808188"> There may be issues when using a JNI implementation that uses FindClass in a function where the JNIEnv pointer is not available, such as in a C callback (bug </a><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 class loader to find the class. If the desired class is
in the classpath used for the application classloader (e.g. defined by the VM argument -cp &lt;classpath&gt;), as it would typically be in a stand-alone application, there is no problem. However,
under Eclipse, the application classloader does not have access to classes contained in plug-ins. Eclipse uses its own class loader to find classes contained in plug-ins.
</p>
<p>The proper plug-in class loader is used by FindClass in JNI functions which are passed the JNIEnv pointer, but not when you have to use AttachCurrentThread to get the JNIEnv pointer. In this
case the application classloader is used.</p>
<p>For example, the following will fail because AttachCurrentThread is used to get the JNIEnv pointer:</p>
<pre>static JavaVM* jvm; // Global variable<br /><br />void myCallback(void) {<br /> JNIEnv* env;<br /> jvm-&gt;AttachCurrentThread((void**)&amp;env, NULL);<br /> // Fails if some/class is not in the application classloader:<br /> jclass cls = env-&gt;FindClass("some/class");<br /> jmethodID methodID = env-&gt;GetMethodID(cls, "methodName",<br /> "(Ljava/lang/String;)V or whatever signature");<br /> env-&gt;CallVoidMethod(callback, methodID, ...);<br /> jvm-&gt;DetachCurrentThread();<br /> }<br />}</pre>
<p>A solution is to cache the method ID, for example:</p>
<pre>static jmethodID mid; // Global variable<br /><br />JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void *reserved) {<br />...<br /> // Store the JavaVM pointer<br /> jvm = vm;<br /><br /> // Find the class and store the method ID<br /> // Will use the class loader that loaded the JNI library<br /> jclass cls = env-&gt;FindClass(className"some/class");<br /> if(!cls) goto ERR;<br /><br /> mid = env-&gt;GetMethodID(cls, "methodName",<br /> "(Ljava/lang/String;)V or whatever signature");<br /> if(!mid) goto ERR;<br />...<br />}<br /><br />void myCallback(void) {<br /> JNIEnv* env;<br /> jvm-&gt;AttachCurrentThread((void**)&amp;env, NULL);<br /> env-&gt;CallVoidMethod(callback, mid, ...);<br /> // Handle error ...<br /> jvm-&gt;DetachCurrentThread();<br /> }<br />}</pre>
<h3 id="I-Platform-Ant">
<a
class="mozTocH3"
name="mozTocId324774">Platform - Ant</a>
</h3>
<h4>
<a
class="mozTocH4"
name="mozTocId480194">Custom Ant tasks and Ant types must be separate from plug-in library JARs</a>
</h4>
<p>
<a
class="mozTocH4"
name="mozTocId480194"> Including the class files for custom Ant tasks or Ant types in the regular code JAR for your plug-in causes problems. These class files must be provided in a separate
JAR that is contributed to the <code>org.eclipse.ant.core.antTasks</code> or <code>antTypes</code> extension point (and not declared as a library in the plug-in's manifest). This ensures that
the Ant tasks and types are loaded by the special Ant class loader and not by a plug-in classloader. (bug
</a><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=34466">34466</a>).
</p>
<h4>
<a
class="mozTocH4"
name="mozTocId912215">XDoclet support from within Eclipse</a>
</h4>
<p>
<a
class="mozTocH4"
name="mozTocId912215"> Since there are differences when running Ant from the commandline and within Eclipse, some extra steps may be needed to have XDoclet support function correctly within
Eclipse. Problems may occur creating XDoclet subtasks. The workarounds and full discussion can be found in bug report. (bug </a><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=37070">37070</a>)
</p>
<h4>
<a
class="mozTocH4"
name="mozTocId31051">Ant Editor code completion based on Ant 1.6.x</a>
</h4>
<p>
<a
class="mozTocH4"
name="mozTocId31051"> 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.x with some updates to Ant 1.8.3 (bug </a><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=193046">bug 193046</a>)
</p>
<h4>
<a
class="mozTocH4"
name="mozTocId925603">Setting build loggers not supported when debugging Ant builds</a>
</h4>
<p>
<a
class="mozTocH4"
name="mozTocId925603"> When debugging Ant builds within Eclipse, setting <code>-logger</code> as a program argument will be ignored.
</a>
</p>
<h4>
<a
class="mozTocH4"
name="mozTocId669417">Renaming an External Tool builder set to run during auto-build will cause errors</a>
</h4>
<p>
<a
class="mozTocH4"
name="mozTocId669417"> If you rename an existing external tool builder that is configured to run during auto-builds, you will get the following error: Errors during build. Errors running
builder "Integrated External Tool Builder" on project &lt;PROJECT_NAME&gt;. The builder launch configuration could not be found. The workaround is to first disable the builder for auto-builds
and then rename the builder. (bug </a><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=118294">118294</a>)
</p>
<h4>
<a
class="mozTocH4"
name="mozTocId772119">Slow typing/saving of the Ant editor with imports that define numerous macrodefs</a>
</h4>
<p>
<a
class="mozTocH4"
name="mozTocId772119"> The Ant editor is slow on saving with buildfiles that have &lt;import&gt; declarations of buildfiles that have numerous &lt;macrodef&gt;s. See bug </a><a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=125117">125117</a> for a possible workaround
</p>
<h4>
<a
class="mozTocH4"
name="mozTocId715004">Ant 1.8.x reports missing libraries as build failures</a>
</h4>
<p>
<a
class="mozTocH4"
name="mozTocId715004"> In Ant 1.8.x, if you try to use a task that requires additional libraries and you do not have the libraries on the Ant classpath, the build will now properly report as
failed. In previous versions of Ant, the build would still report that it had succeeded even though it actually failed to run any of the tasks from additional bundles. See </a><a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=344518">bug 344518</a>.
</p>
<p>
For more information on tasks that require additional bundles please refer to the <a href="https://archive.apache.org/dist/ant/RELEASE-NOTES-apache-ant-1.8.2.html">Ant 1.8.2 release notes</a> and
the <a href="http://ant.apache.org/manual/install.html#optionalTasks">Optional Tasks</a> section in the Ant manual.
</p>
<h3 id="I-Platform-User-Assistance">
<a
class="mozTocH3"
name="mozTocId876322">Platform - User Assistance</a>
</h3>
<h4>
<a
class="mozTocH4"
name="mozTocId828477">Welcome page not displayed properly (Linux/Unix)</a>
</h4>
<p>
<a
class="mozTocH4"
name="mozTocId828477"> The default Welcome implementation is HTML-based and requires a supported browser in order to work. If no supported browser can be found, Welcome falls back to its
Forms-based implementation, which has a different (simpler) appearance. Consult the </a><a href="http://www.eclipse.org/swt/faq.php#browserplatforms">SWT FAQ</a> for supported browsers and setting
up your browser to work with eclipse.
</p>
<h4>
<a
class="mozTocH4"
name="mozTocId26110">Help browser tool bar buttons do not work for some documents</a>
</h4>
<p>
<a
class="mozTocH4"
name="mozTocId26110"> The Help browser's Print, Synchronize, and Bookmark buttons do not work for pages that are not actually installed with the product. However, you can always use the
print command in the browser's context menu to print the page you're reading. (bug </a><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=44216">44216</a>)
</p>
<h4>
<a
class="mozTocH4"
name="mozTocId324012">Help documents not displayed in a browser or very slow document loading (Windows only)</a>
</h4>
<p>
<a
class="mozTocH4"
name="mozTocId324012">If your LAN settings are not properly configured for local host access, your Help browser might open to a blank page or display an HTTP error instead of a help page, or
you may experience long delays when loading help documents. Your system administrator can configure your LAN settings so that help documents can be accessed from the local help server.</a>
</p>
<blockquote>
<ol>
<li><a
class="mozTocH4"
name="mozTocId324012">In the Control Panel, open <b>Internet Options</b>, select the <b>Connections</b> tab and choose <b>LAN Settings</b>.
</a></li>
<li><a
class="mozTocH4"
name="mozTocId324012">If your host was configured to use DHCP for IP assignment, make sure that the "Automatically detect settings" check box is cleared.</a></li>
<li><a
class="mozTocH4"
name="mozTocId324012">If you use a proxy server, ensure that the "Bypass proxy server for local addresses" is selected.</a></li>
<li><a
class="mozTocH4"
name="mozTocId324012">In "Advanced" settings for proxies, add "127.0.0.1;localhost" to the "Exceptions" if these addresses are not listed.</a></li>
<li><a
class="mozTocH4"
name="mozTocId324012">If you are using an automatic configuration script for proxy settings, and are not sure that the script is correct, clear the "Use automatic configuration script"
check box.</a></li>
</ol>
</blockquote>
<h4>
<a
class="mozTocH4"
name="mozTocId227368">Working disconnected from the network (Windows only)</a>
</h4>
<p>
<a
class="mozTocH4"
name="mozTocId227368"> If you are experiencing problems when not connected to the network, you must install the loopback adapter from the Windows installation CD. (bug </a><a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=831">831</a>)
</p>
<h4>
<a
class="mozTocH4"
name="mozTocId121403">Using Internet Explorer in offline mode (Windows only)</a>
</h4>
<p>
<a
class="mozTocH4"
name="mozTocId121403">If you have been using Internet Explorer in Offline mode, when you access the help system you will get a message indicating that the web page you requested is not
available offline or a blank page will display. Click <b>Connect</b> or deselect "Work Offline" in the Internet Explorer "File" menu to return the system behavior to normal.
</a>
</p>
<h3 id="I-Platform-UI">
<a
class="mozTocH3"
name="mozTocId683637">Platform - UI</a>
</h3>
<h4>
<a
class="mozTocH4"
name="mozTocId348035">Dirty state not tracked properly for OLE documents (Windows only)</a>
</h4>
<p>
<a
class="mozTocH4"
name="mozTocId348035"> The dirty state for an OLE document is not updated properly. This causes Eclipse to prompt to save the contents of the editor when the document is closed, even if the
contents have already been saved. (bug </a><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=2564">2564</a>)
</p>
<h4>
<a
class="mozTocH4"
name="mozTocId878052">OLE document crashes can cause Eclipse to also crash (Windows only)</a>
</h4>
<p>
<a
class="mozTocH4"
name="mozTocId878052">If an OLE document crashes, Eclipse can crash, or the workbench menus can become inconsistent.</a>
</p>
<h4>
<a
class="mozTocH4"
name="mozTocId452707">Toolbars only containing contributed controls exhibit display errors on Mac/Linux</a>
</h4>
<p>
<a
class="mozTocH4"
name="mozTocId452707"> Currently there is no way on the Max or Linux platforms to define the <b>height</b> for controls contributed to toolbars, nor will those platforms respect the size
returned by the control's <code>computeSize</code> method. If you encounter this issue there is currently no truly viable workaround. (bug
</a><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=183003">183003</a>)
</p>
<h4>
<a
class="mozTocH4"
name="mozTocId443682">Allocating enough memory and solving OutOfMemoryError</a>
</h4>
<p>
<a
class="mozTocH4"
name="mozTocId443682"> The native launcher checks the JVM but PDE launches simply use java and don't go through the native launchers. The workaround is to add the appropriate JVM arg to your
launch config or to the <i>Preferences &gt; Java &gt; Installed JREs</i>. (bug
</a><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=339763">339763</a>)
</p>
<h4>
<a
class="mozTocH4"
name="mozTocId862142">Capabilities and Activities don't affect the menus and toolbars</a>
</h4>
<p>
<a
class="mozTocH4"
name="mozTocId862142"> Capabilities used to hide GUI elements like menu entries work for commands and individual actionSet entries, but Capabilities have not been fully implemented. (bug </a><a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=359778">359778</a>)
</p>
<h3 id="I-Platform-SWT">
<a
class="mozTocH3"
name="mozTocId554478">Platform - SWT</a>
</h3>
<h4>
<a
class="mozTocH4"
name="mozTocId534426">Usage of swt.autoScale and GDK_SCALE flag on GTK platforms</a>
</h4>
<p>
<a
class="mozTocH4"
name="mozTocId534426">With new implementation of hi-dpi support we are directly working with GTK3. So the users may see non-uniform scaling when you use swt.autoScale and GDK_SCALE flags.
Workaround is to set the scalefactor in display settings.</a>
</p>
<h4>
<a
class="mozTocH4"
name="mozTocId554478">Non-uniform scaling of text vs. icons when using intermediate scaling factors on high-DPI displays</a>
</h4>
<p>
<a
class="mozTocH4"
name="mozTocId554478">Eclipse automatically scales images on high-DPI monitors based on the resolution of the monitor. However, this scaling works only with integer scaling factors like
100%, 200% etc by default. So, at intermediate scaling factors like 150%, 175% etc., its likely that the icons and text are scaled differently as the text scaling is handled directly by the
operating system.</a>
</p>
<h4>
<a
class="mozTocH4"
name="mozTocId69222">Eclipse plug-in based on the SWT Browser throws exception</a>
</h4>
<p>
<a
class="mozTocH4"
name="mozTocId69222"> The SWT Browser widget uses a platform-specific web browser to render HTML. The org.eclipse.swt.SWTError exception ("No more handles") is thrown on platforms that don't
meet the requirements for running the Browser widget. Supported platforms and prerequisites are listed on the SWT FAQ item </a><a href="http://www.eclipse.org/swt/faq.php#browserplatforms">
"Which platforms support the SWT Browser?"</a>.
</p>
<h4>
<a
class="mozTocH4"
name="mozTocId238090">Eclipse icon is duplicated in task-bar on Windows</a>
</h4>
<p>
<a
class="mozTocH4"
name="mozTocId238090"> Workaround is to pin the launched eclipse application and not the launcher, for more details, refer bug </a><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=314805">314805</a>
</p>
<h4>
<a
class="mozTocH4"
name="mozTocId414883">BIDI Segments in Text controls</a>
</h4>
<p>
<a
class="mozTocH4"
name="mozTocId414883"> BIDI Segments in Text controls only work on Windows and GTK. (bug </a><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=388578">388578</a>)
</p>
<h4>
<a
class="mozTocH4"
name="mozTocId518357">Block Selection functionality provided by StyledText is not BIDI aware</a>
</h4>
<p>
<a
class="mozTocH4"
name="mozTocId518357"> When the orientation of characters under the left and right edges of the block selection rectangle are not the same, the actual selection ranges (in memory) differ
from the visual representation of the selection. (bug </a><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=277929">277929</a>)
</p>
<h3 id="I-Platform-Team-CVS">
<a
class="mozTocH3"
name="mozTocId263012">Platform - Team - CVS</a>
</h3>
<p>
<a
class="mozTocH3"
name="mozTocId263012"> The following are known problems with the CVS repository provider only, and do not apply to other repository providers. Additional information on how to use CVS from
Eclipse can be found in the </a><a href="https://wiki.eclipse.org/CVS_FAQ">Eclipse CVS FAQ</a>.
</p>
<h4>
<a
class="mozTocH4"
name="mozTocId262771">CVS server compatibility</a>
</h4>
<p>
<a
class="mozTocH4"
name="mozTocId262771">The CVS plug-in parses messages returned from the CVS server. If the format of these messages is not as expected, some of the plug-in's functionality may be missing.
The CVS plug-in is compatible with all stable 1.11.X builds of the CVS server, and should be compatible with future releases in that stream unless text message formats change (the last tested
server was 1.11.22). As for the 1.12.X feature releases of CVS, the Eclipse CVS client has been tested with builds up to 1.12.13. However, future releases could easily break the Eclipse CVS
client. Basic functionality, such as Checkout, Commit, and Update, should always work, but there may be problems with more advanced commands such as Synchronizing and Browsing the repository.</a>
</p>
<h4>
<a
class="mozTocH4"
name="mozTocId532855">Connection cannot be found after initially missing</a>
</h4>
<p>
<a
class="mozTocH4"
name="mozTocId532855"> If a connection initially fails due to a network problem, the connection may continue to fail even when the network problem is fixed. In order to establish the
connection you must exit and restart Eclipse. (bug </a><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=9295">9295</a>)
</p>
<h4>
<a
class="mozTocH4"
name="mozTocId660590">Received broken pipe signal" error from server</a>
</h4>
<p>
<a
class="mozTocH4"
name="mozTocId660590"> Eclipse sometimes performs multiple commands within a single connection to the server. This may cause problems with CVS servers that are running server scripts in
response to certain commands. (bugs </a><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=23575">23575</a> and <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=23581">23581</a>)
</p>
<h4>
<a
class="mozTocH4"
name="mozTocId971246">Terminated with fatal signal 10" error from server</a>
</h4>
<p>
<a
class="mozTocH4"
name="mozTocId971246"> There is a bug in the CVS server related to some compression levels. If you get this error, changing the compression level on the CVS preference page may help. (bug </a><a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=15724">15724</a>)
</p>
<h4>
<a
class="mozTocH4"
name="mozTocId689776">error using ext connection method</a>
</h4>
<p>
<a
class="mozTocH4"
name="mozTocId689776"> There are a few situations that can result in an "Unknown response" error messages when using the ext connection method. One situation involves using an external
communications client (e.g. rsh or ssh) that adds CRs to the communications channel (bug </a><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=21180">21180</a>). Another involves Eclipse not
properly reading the stderr output of the external communications tool. (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=11633">11633</a>)
</p>
<h4>
<a
class="mozTocH4"
name="mozTocId50418">A disabled CVS capability may not be auto-enabled in existing workspaces</a>
</h4>
<p>
<a
class="mozTocH4"
name="mozTocId50418"> New in 3.0 is the ability to disable capabilities and the CVS support in Eclipse can be disabled. However, for backwards compatibility the CVS capability is
auto-enabled in existing workspaces that already contain CVS projects. The auto-enabling function may not run if the team support plugin is not loaded at startup. (bug </a><a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66977">66977</a>)
</p>
<h4>
<a
class="mozTocH4"
name="mozTocId533799">Builder output files may appear as changed</a>
</h4>
<p>
<a
class="mozTocH4"
name="mozTocId533799">When folders containing build output are shared they may get improperly marked as dirty when build output is generated.</a>
</p>
<h4>
<a
class="mozTocH4"
name="mozTocId253283">Enabling GNOME proxy support</a>
</h4>
<p>
<a
class="mozTocH4"
name="mozTocId253283"> GNOME applications can make use of proxy settings defined in this environment. If set, Eclipse will use it prior to proxy settings declared using env variables. This
feature is disabled by default, to enable it launch Eclipse with <code>"-Dorg.eclipse.core.net.enableGnome"</code> switch. That is,
</a>
</p>
<pre>
<a
class="mozTocH4"
name="mozTocId253283">eclipse -Dorg.eclipse.core.net.enableGnome</a>
</pre>
<h3 id="I-Platform-Install-Update">
<a
class="mozTocH3"
name="mozTocId805874">Platform - Install/Update</a>
</h3>
<h4>
<a
class="mozTocH4"
name="mozTocId914600">Manually installing features and plug-ins on a FAT file system (Windows only)</a>
</h4>
<p>
<a
class="mozTocH4"
name="mozTocId914600">When features and plug-ins are manually installed on top of an Eclipse-based product install located on a FAT file system that has already been run at least once, the
product must be explicitly restarted with -clean. That is,</a>
</p>
<pre>
<a
class="mozTocH4"
name="mozTocId914600">eclipse.exe -clean</a>
</pre>
<h4>
<a
class="mozTocH4"
name="mozTocId648565">Connecting to untrusted sites using https</a>
</h4>
<p>
<a
class="mozTocH4"
name="mozTocId648565">You cannot install or update software from a site using https whose certificate is not chained to a trusted root certificate in your local certificate store. This
typically means the server is using a self-signed certificate, or a certificate authenticated by an unknown third party.</a>
</p>
<h4>
<a
class="mozTocH4"
name="mozTocId104394">Extension location is lost if the install path changes</a>
</h4>
<p>
<a
class="mozTocH4"
name="mozTocId104394"> A previously configured extension location may be temporarily removed if the install is moved or mounted under a different path. This only happens when the link file
that configures the extension location uses a relative path that points to a directory under the Eclipse install. On a second startup using the same install path, the extension location is added
again (bug </a><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=95403">95403</a>).
</p>
<h3 id="I-JDT">
<a
class="mozTocH3"
name="mozTocId428861">Java development tools (JDT)</a>
</h3>
<h4>
<a
class="mozTocH4"
name="mozTocId180305">Multiple regions formatting in a given source snippet</a>
</h4>
<p>
<a
class="mozTocH4"
name="mozTocId180305">In version 3.4, the API method <code>org.eclipse.jdt.core.formatter.CodeFormatter.format(int, String, IRegion[], int, String)</code> was added to allow the formatting
of several regions in a source snippet with a single pass. <br /> Even if specified, this method does not currently accept comments of the following kinds:
</a>
</p>
<ul>
<li><code>
<a
class="mozTocH4"
name="mozTocId180305">org.eclipse.jdt.core.formatter.CodeFormatter#K_SINGLE_LINE_COMMENT</a>
</code></li>
<li><code>
<a
class="mozTocH4"
name="mozTocId180305">org.eclipse.jdt.core.formatter.CodeFormatter#K_MULTI_LINE_COMMENT</a>
</code></li>
<li><code>
<a
class="mozTocH4"
name="mozTocId180305">org.eclipse.jdt.core.formatter.CodeFormatter#K_JAVA_DOC</a>
</code></li>
</ul>
<p>
<a
class="mozTocH4"
name="mozTocId180305">This will be fixed in a future release (bug </a><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=233967">233967</a>).
</p>
<h4>
<a
class="mozTocH4"
name="mozTocId589358">Searching for constant field references</a>
</h4>
<p>
<a
class="mozTocH4"
name="mozTocId589358"> Search does not find references to constant fields inside binaries because the Java Language Specification mandates that constant field values be inlined in the class
file's byte codes, leaving no trace of a field reference. (bug </a><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=12044">12044</a>)
</p>
<h4>
<a
class="mozTocH4"
name="mozTocId577868">Cut, copy, paste not working for linked resources in views showing Java elements</a>
</h4>
<p>
<a
class="mozTocH4"
name="mozTocId577868"> The cut, copy, and paste actions do not work for linked files and folders appearing in views that show Java elements, including the Package Explorer. The workaround is
to use these actions from the Navigator view instead. (bug </a><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=34568">34568</a>)
</p>
<h4>
<a
class="mozTocH4"
name="mozTocId554543">Java working sets not working correctly for elements from JRE system library container</a>
</h4>
<p>
<a
class="mozTocH4"
name="mozTocId554543"> Applying a working set consisting entirely of elements from the JRE System library container as a filter to the packages view might result in an empty Package
Explorer. (bug </a><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=30442">30442</a>)
</p>
<h4>
<a
class="mozTocH4"
name="mozTocId157019">Breakpoints unreliable running Sun 1.6.0_14</a>
</h4>
<p>
<a
class="mozTocH4"
name="mozTocId157019">Developers debugging applications on Sun's 1.6.0_14 virtual machine should be aware that breakpoints are unreliable (i.e. do not always suspend execution). The problem
occurs on Windows and Linux platforms. This is an issue with the VM and not with Eclipse. The workaround is to use the <code>-XX:+UseParallelGC</code> VM option. (bug
</a><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=279137">279137</a>).
</p>
<h4>
<a
class="mozTocH4"
name="mozTocId440090">Suspend on uncaught exception overrides exception breakpoint location filters</a>
</h4>
<p>
<a
class="mozTocH4"
name="mozTocId440090"> Exception breakpoints can be configured with location filters (inclusive and exclusive). When an unchecked exception is configured to <b>not</b> suspend execution in a
specific class, execution will still suspend when the user preference to suspend on uncaught exceptions is on. (bug
</a><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66770">66770</a>)
</p>
<h4>
<a
class="mozTocH4"
name="mozTocId812347">Running Java programs with non-Latin-1 characters in package or class names</a>
</h4>
<p>
<a
class="mozTocH4"
name="mozTocId812347">You get a <code>java.lang.NoClassDefFoundError</code> when running Java programs with non-Latin characters in the package or class names. The workaround is to package
the class files as a JAR file and run the program out of the JAR and not from the file system directly. (bug
</a><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=4181">4181</a>)
</p>
<h4>
<a
class="mozTocH4"
name="mozTocId638407">Cannot run or debug class in a project with GB18030 characters in project name</a>
</h4>
<p>
<a
class="mozTocH4"
name="mozTocId638407"> Most class libraries do not properly support the creation of a system process (via <code>java.lang.Runtime.exec(...)</code> ) when the specified command line contains
GB18030 characters. This limitation means the debugger cannot launch applications when the command line it generates contains GB18030 characters. (bug
</a><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=32206">32206</a>)
</p>
<h4>
<a
class="mozTocH4"
name="mozTocId994970">Cannot detect installed JRE with GB18030 characters in path name</a>
</h4>
<p>
<a
class="mozTocH4"
name="mozTocId994970"> Automatic JRE detection fails when the JRE is stored in a directory containing GB18030 characters in its name. (bug </a><a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=33844">33844</a>)
</p>
<h4>
<a
class="mozTocH4"
name="mozTocId324283">Cannot generate Javadoc for packages with GB18030 characters in the name</a>
</h4>
<p>
<a
class="mozTocH4"
name="mozTocId324283"> Most class libraries do not properly support the creation of a system process (via <code>java.lang.Runtime.exec(...)</code> ) when the specified command line contains
</a><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=32215">32215</a>)
</p>
<h4>
<a
class="mozTocH4"
name="mozTocId524553">Unable to debug stack overflows</a>
</h4>
<p>
<a
class="mozTocH4"
name="mozTocId524553"> If a debug session suspends on a <code>java.lang.StackOverflowError</code> exception (due to an exception breakpoint), the debugger may not be able to retrieve any
debug information from the target JVM. As well, the debugger may not be able to reliably interact with the target JVM past this point. (bug
</a><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=19217">19217</a>)
</p>
<h4>
<a
class="mozTocH4"
name="mozTocId162517">Evaluation limitation</a>
</h4>
<p>
<a
class="mozTocH4"
name="mozTocId162517"> The debugger uses threads in the target JVM to perform evaluations (both explicit evaluations that the user requests, and implicit evaluations such as <code>toString()</code>
invocations in the <b>Variables</b> view). The Java Debug Interface (JDI) requires that the thread in which an evaluation is performed be suspended by a user event (that is, a breakpoint or step
request). Evaluations cannot be performed on threads suspended by the suspend action. As well, when a breakpoint is configured to suspend the JVM rather than just the individual thread, the
threads which did not encounter the breakpoint are not in a valid state to perform an evaluation. When an evaluation is attempted in a thread that is not in a valid state to perform an
evaluation, an error message will appear to the effect of "Thread must be suspended by step or breakpoint to perform method invocation". (bug
</a><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=34440">34440</a>)
</p>
<h4>
<a
class="mozTocH4"
name="mozTocId408387">Missing debug attributes</a>
</h4>
<p>
<a
class="mozTocH4"
name="mozTocId408387">The debugger requires that class files be compiled with debug attributes if it is to be able to display line numbers and local variables. Quite often, class libraries
(for example, " <code>rt.jar</code> ") are compiled without complete debug attributes, and thus local variables and method arguments for those classes are not visible in the debugger.
</a>
</p>
<h4>
<a
class="mozTocH4"
name="mozTocId330034">Using Hot Code Replace</a>
</h4>
<p>
<a
class="mozTocH4"
name="mozTocId330034">Hot code replace is supported on JDK 1.4.x VMs, and IBM J9 VMs. The debugger will attempt to replace all class files that change in the workspace as the user edits and
builds source code. However, hot code replace is limited to changes that a particular virtual machine implementation supports. For example, changes within existing methods may be supported, but
the addition or removal of members may not be.</a>
</p>
<h4>
<a
class="mozTocH4"
name="mozTocId976120">Scrapbook</a>
</h4>
<p>
<a
class="mozTocH4"
name="mozTocId976120">Setting a breakpoint inside a scrapbook page is not supported.</a>
</p>
<p>
<a
class="mozTocH4"
name="mozTocId976120"> When a snippet is run in the scrapbook which directly or indirectly calls <code>System.exit(int)</code> , the evaluation cannot be completed, and will result in a
stack trace for a <code>com.sun.jdi.VMDisconnectedException</code> being displayed in the scrapbook editor.
</a>
</p>
<p>
<a
class="mozTocH4"
name="mozTocId976120"> Terminating a scrapbook page while it is performing an evaluation results in a <code>com.sun.jdi.VMDisconnectedException</code> being displayed in the scrapbook
editor.
</a>
</p>
<h4>
<a
class="mozTocH4"
name="mozTocId666507">Debugging over slow connections</a>
</h4>
<p>
<a
class="mozTocH4"
name="mozTocId666507">A global Java debug preference specifies the debugger timeout, which is the maximum amount of time the debugger waits for a response from the target VM after making a
request of that VM. Slow connections may require that this value be increased. The timeout value can be edited from the <b>Java &gt; Debug </b>preference page. Changing the timeout value only
affects subsequently launched VM, not VMs that are already running.
</a>
</p>
<h4>
<a
class="mozTocH4"
name="mozTocId207158">Updating of inspected values</a>
</h4>
<p>
<a
class="mozTocH4"
name="mozTocId207158">When inspecting the result of an evaluated expression in the debugger, it is important to note that the result displayed is the result of that expression at the time it
was evaluated. For example, when inspecting a simple integer counter (primitive data type), the value displayed in the Expressions view is the value when the expression was evaluated. As the
counter is changed in the running program, the inspected result will not change (since the view is not displaying the value bound to a variable - it is displaying the value of an expression, and
the value of a primitive data type cannot change). However, if an expression results in an object, fields of that object will be updated in the inspector as they change in the running program
(since the value bound to fields in an object can change).</a>
</p>
<h4>
<a
class="mozTocH4"
name="mozTocId821393">Stepping over native methods that perform I/O</a>
</h4>
<p>
<a
class="mozTocH4"
name="mozTocId821393">When the debugger steps over native methods that perform I/O to <code>System.out</code> or <code>System.err</code>, the output may not appear immediately unless the
native performs a flush on the output buffer.
</a>
</p>
<h4>
<a
class="mozTocH4"
name="mozTocId724969">VM and process termination running on IBM 1.3 JVM on Linux (Linux only)</a>
</h4>
<p>
<a
class="mozTocH4"
name="mozTocId724969">Terminating a launch, debug target, or system process associated with a debug target running on the IBM 1.3 JVM on the Linux platform does not work when the associated
debug target has a suspended thread. To remove such debug targets from the debug UI, select <b>Terminate and Remove</b> from the debug view's pop-up menu (or use the shortcut "delete" key).
Associated system processes in the OS may not be properly cleaned up. If a debug target has no suspended threads, termination works properly. (bug
</a><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=1631">1631</a>)
</p>
<h4>
<a
class="mozTocH4"
name="mozTocId606104">Java Annotation Processing</a>
</h4>
<p>
<a
class="mozTocH4"
name="mozTocId606104"> Some methods in the processing API are unimplemented when compiling within the IDE, and will throw <code>UnsupportedOperationException</code> .
</a>
</p>
<p>
<a
class="mozTocH4"
name="mozTocId606104"> Java 6 annotation processors are supported in the batch compiler and in the IDE. By design, Java 6 processors are only executed during a build, not while editing. (bug
</a><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=188558">188558</a>)
</p>
<p>
Java 5 annotation processors are supported in the IDE only. Java 5 processors can be executed while editing, as well as during a build. Slow annotation processors can cause a slowdown of the
editing experience. If this occurs, you may wish to turn off <b>Enable processing in editor</b> on the <b>Java Compiler &gt; Annotation Processing</b> properties page of your Java project.
</p>
<h4>
<a
class="mozTocH4"
name="mozTocId188069">Java indexing encounters problems when a folder is used both as a source and a class folder</a>
</h4>
<p>
<a
class="mozTocH4"
name="mozTocId188069"> Java indexing encounters problems when a folder is used both as a source folder in a project and as a class folder in another project. Hence, when this peculiar setup
is used, the Java Search might miss matches located in such a folder. To avoid this kind of problem, it is strongly advised to use different folders for sources and binary classes. (bug </a><a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=309903">309903</a>)
</p>
<h3 id="I-PDE">
<a
class="mozTocH3"
name="mozTocId25456">Plug-in Development Environment (PDE)</a>
</h3>
<h4>
<a
class="mozTocH4"
name="mozTocId179699">Feature manifest editor does not preserve all comments</a>
</h4>
<p>
<a
class="mozTocH4"
name="mozTocId179699"> When a non-source page of the feature manifest editor is used, PDE will convert changes back into XML by regenerating the file. Although the overall content and most
of the comments are preserved, some comments may be lost. (bug </a><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=59502">59502</a>)
</p>
<h4>
<a
class="mozTocH4"
name="mozTocId243421">PDE will not unzip source zips of some plug-ins</a>
</h4>
<p>
<a
class="mozTocH4"
name="mozTocId243421"> In the plug-in import wizard, when you choose to import plug-ins as "projects with source folders", PDE will not unzip the source for the org.apache.ant. This is
because the source ZIPs contains code that will not compile when unzipped as it requires additional JARs that are not part of the SDK. To avoid the creation of plug-in projects that won't
compile, PDE will import these plug-ins as binary and attach source, so you would still be able to read the source, you just won't be able to modify it. Also, PDE will not unzip the source for
the org.eclipse.swt plug-ins. In this case, it is because, when shipped, the swt code is spread across a plug-in and a fragment, and when unzipped, it will require circular dependencies between
the plug-in and fragment projects. These circular dependencies are at minimum marked as warnings by the JDT compiler and may result in unpredictable build behavior. Therefore, PDE always imports
org.eclipse.swt as binary with source attached. (bug </a><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66314">66314</a>)
</p>
<h4>
<a
class="mozTocH4"
name="mozTocId722932">Emacs key bindings do not work in manifest editor fields</a>
</h4>
<p>
<a
class="mozTocH4"
name="mozTocId722932"> Non-default key bindings currently do not work in fields on non-source pages of the PDE manifest editors. (bug </a><a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=19482">19482</a>)
</p>
<h4>
<a
class="mozTocH4"
name="mozTocId828449">Export of plug-in may silently drop classes</a>
</h4>
<p>
<a
class="mozTocH4"
name="mozTocId828449"> When exporting a plug-in using the plug-in, feature or product wizards, some classes might be dropped from the resulting archive if their fully qualified name is too
long. This typical path limitation can be worked around by creating the jar of the problematic plug-in by using the Jar export wizard. (bug </a><a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=97150">97150</a>)
</p>
<h4>
<a
class="mozTocH4"
name="mozTocId89714">Compilation errors when exporting projects not stored outside of the workspace</a>
</h4>
<p>
<a
class="mozTocH4"
name="mozTocId89714"> When exporting multiple plug-ins and one is stored outside of the workspace, compile errors occurs on export. To work around the problem, you can either export the
plug-ins one by one, or change their location. (bug </a><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=98579">98579</a>)
</p>
<h4>
<a
class="mozTocH4"
name="mozTocId270371">Headless build needs to be run from a fully qualified path</a>
</h4>
<p>
<a
class="mozTocH4"
name="mozTocId270371"> When running a headless build using the scripts provided by pde build, the properties <code>builder</code> and <code>buildDirectory</code> must refer to a fully
qualified path. (bug
</a><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=139554">139554</a>)
</p>
<h4>
<a
class="mozTocH4"
name="mozTocId73293">Importing in Eclipse application fails if plug-in exists in host workspace</a>
</h4>
<p>
<a
class="mozTocH4"
name="mozTocId73293"> When running an Eclipse application (self-hosting) importing plug-ins will not work correctly if the plug-in being imported exists in the host Eclipse's workspace. This
is because PDE modifies the target platform of the application to point at the running plug-ins from the host (target weaving). This also affects the PDE test suite. (bug </a><a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=294005">294005</a>)
</p>
<h4>
<a
class="mozTocH4"
name="mozTocId914239">Reusing a workspace after changing architectures silently breaks PDE models</a>
</h4>
<p>
<a
class="mozTocH4"
name="mozTocId914239"> If a workspace is reused on a machine with a different architecture, the PDE models used to build plug-ins may silently fail. To work around this problem, delete the
metadata in &lt;workspace&gt;/.metadata/.plugins/org.eclipse.pde.core. (bug </a><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=350172">350172</a>)
</p>
<h4>
<a
class="mozTocH4"
name="mozTocId624312">Missing @since tag API Tools problems on interface fields containing @noreference tag</a>
</h4>
<p>
<a
class="mozTocH4"
name="mozTocId624312"> The Eclipse platform 4.6 release will not allow the API Tools @noreference tag on interface fields. This was changed because all interface fields are constant fields
that cannot support the @noreference restriction. The tag was allowed in previous releases and this usage will now be considered an API change requiring a @since tag. It is recommended that you
create an API Tools filter for the missing @since tag problem. This filter can be removed as soon as the API baseline has been regenerated. (bug </a><a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=402393">402393</a>)
</p>
<h2 id="RunningEclipse">
<a
class="mozTocH2"
name="mozTocId19817">Running Eclipse</a>
</h2>
<p>
<a
class="mozTocH2"
name="mozTocId19817"> After installing the Eclipse SDK in a directory, you can start the Workbench by running the Eclipse executable included with the release (you also need a Java SE 8 JRE,
not included with the Eclipse SDK). On Windows, the executable file is called <samp>eclipse.exe</samp> , and is located in the <code>eclipse</code> sub-directory of the install. If installed at
<code>c:\eclipse-SDK-4.16-win64</code> , the executable is <code>c:\eclipse-SDK-4.16-win64\eclipse\eclipse.exe</code> . <b>Note:</b> Set-up on most other operating environments is analogous.
Special instructions for Mac OS X are listed
</a><a href="#macosx">below</a>.
</p>
<h3>
<a
class="mozTocH3"
name="mozTocId60052">Allocating enough memory and solving OutOfMemoryErrors</a>
</h3>
<p>
<a
class="mozTocH3"
name="mozTocId60052"> By default, Eclipse will allocate up to 1024 megabytes of Java heap memory. This should be ample for all typical development tasks. However, depending on the JRE that
you are running, the number of additional plug-ins you are using, and the number of files you will be working with, you could conceivably have to increase this amount. Eclipse allows you to pass
arguments directly to the Java VM using the <code>-vmargs</code> command line argument, which must follow all other Eclipse specific arguments. Thus, to increase the available heap memory, you
would typically use:
</a>
</p>
<blockquote>
<p>
<a
class="mozTocH3"
name="mozTocId60052"> <code>eclipse -vmargs -Xmx&lt;memory size&gt;</code>
</a>
</p>
</blockquote>
<p>
<a
class="mozTocH3"
name="mozTocId60052"> with the <code>&lt;memory size&gt;</code> value set to greater than "1024M" (1024 megabytes -- the default).
</a>
</p>
<p>
<a
class="mozTocH3"
name="mozTocId60052">Note that setting memory sizes to be near or larger than the amount of available physical memory on your machine will cause Java to "thrash" as it copies objects back
and forth to virtual memory, which will severely degrade your performance.</a>
</p>
<h3>
<a
class="mozTocH3"
name="mozTocId735187">Selecting a workspace</a>
</h3>
<p>
<a
class="mozTocH3"
name="mozTocId735187"> When the Workbench is launched, the first thing you see is a dialog that allows you to select where the workspace will be located. The workspace is the directory where
your work will be stored. If you do not specify otherwise, Eclipse creates the workspace in your user directory. This workspace directory is used as the default content area for your projects as
well as for holding any required metadata. For shared or multi-workspace installs you must explicitly specify the location for your workspace using the dialog (or via the " <code>-data</code> "
command line argument).
</a>
</p>
<h3>
<a
class="mozTocH3"
name="mozTocId620725">Specifying the Java virtual machine</a>
</h3>
<p>
<a
class="mozTocH3"
name="mozTocId620725">Here is a typical Eclipse command line:</a>
</p>
<blockquote>
<p>
<a
class="mozTocH3"
name="mozTocId620725"> <code>eclipse -vm c:\jdk6u22\jre\bin\javaw</code>
</a>
</p>
</blockquote>
<p>
<a
class="mozTocH3"
name="mozTocId620725"> <i>Tip:</i> It's generally a good idea to explicitly specify which Java VM to use when running Eclipse. This is achieved with the " <code>-vm</code> " command line
argument as illustrated above. If you don't use " <code>-vm</code> ", Eclipse will look on the OS path. When you install other Java-based products, they may change your path and could result in
a different Java VM being used when you next launch Eclipse.
</a>
</p>
<p>
<a
class="mozTocH3"
name="mozTocId620725">To create a Windows shortcut to an installed Eclipse:</a>
</p>
<ol>
<li><a
class="mozTocH3"
name="mozTocId620725">Navigate to <code>eclipse.exe</code> in Windows Explorer and use Create Shortcut on the content menu.
</a></li>
<li><a
class="mozTocH3"
name="mozTocId620725">Select the shortcut and edit its Properties. In the Target: field append the command line arguments.</a></li>
</ol>
<p>
<a
class="mozTocH3"
name="mozTocId620725">Opening this shortcut launches Eclipse. (You can drag the shortcut to the Windows Desktop if you want to keep it in easy reach.)</a>
</p>
<h3 id="macosx">
<a
class="mozTocH3"
name="mozTocId928700">Mac OS X</a>
</h3>
<p>
<a
class="mozTocH3"
name="mozTocId928700"> On Mac OS X, you start Eclipse by double clicking the Eclipse application. If you need to pass arguments to Eclipse, you'll have to edit the <code>eclipse.ini</code>
file inside the Eclipse application bundle: select the Eclipse application bundle icon while holding down the Control Key. This will present you with a popup menu. Select "Show Package Contents"
in the popup menu. Locate <code>eclipse.ini</code> file in the <code>Contents/Eclipse</code> sub-folder and open it with your favorite text editor to edit the command line options.
</a>
</p>
<p>
<a
class="mozTocH3"
name="mozTocId928700"> On MacOS X you can only launch a UI program more than once if you have separate copies of the program on disk. The reason for this behavior is that every UI
application on Mac can open multiple documents, so typically there is no need to open a program twice. Since Eclipse cannot open more than one workspace, this means you have to make a copy of
the Eclipse install if you want to open more then one workspace at the same time (bug </a><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=139319">139319</a>).
</p>
<p>If you need to launch Eclipse from the command line, you can create a symbolic link such as "eclipse". It should point to the eclipse executable inside the application bundle and takes the
same arguments as "eclipse.exe" on other platforms.</p>
<p>On Mac OS X 10.4 and later, you may notice a slow down when working with significant numbers of resources if you allow Spotlight to index your workspace. To prevent this, start System
Preferences, select the Spotlight icon, then the Privacy tab, then click the Add button ("+") and find your workspace directory in the dialog that appears.</p>
<h3 id="SharedInstall">
<a
class="mozTocH3"
name="mozTocId221199">Shared Install</a>
</h3>
<p>
<a
class="mozTocH3"
name="mozTocId221199"> The startup speed of a shared install can be improved if proper cache information is stored in the shared install area. To achieve this, after unzipping Eclipse
distribution, run Eclipse once with the "-initialize" option from an account that has a write access to the install directory. See </a><a
href="%20http://help.eclipse.org/luna/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Freference%2Fmisc%2Fmulti_user_installs.html">shared installs</a> in Eclipse Help for more information.
</p>
<h2 id="Upgrading">
<a
class="mozTocH2"
name="mozTocId575572">Upgrading Workspace from a Previous Release</a>
</h2>
<h3>
<a
class="mozTocH3"
name="mozTocId401691">Users who don't use "-data"</a>
</h3>
<p>
<a
class="mozTocH3"
name="mozTocId401691">If you weren't previously using "-data" to specify your workspace, follow these steps to upgrade:</a>
</p>
<ol>
<li><a
class="mozTocH3"
name="mozTocId401691">Find the workspace directory used by your old version of Eclipse. Typically this is located inside the directory in which Eclipse was installed in a sub-directory
called "<code>workspace</code>". If you are using a shortcut or script to launch Eclipse, then it will be under the current working directory of that shortcut or script in a sub-directory
called "workspace". For Windows users, this is specified by the "Start in:" argument in your shortcut properties.
</a></li>
<li><a
class="mozTocH3"
name="mozTocId401691">Copy this workspace directory to a new, empty location outside of any Eclipse install directory.</a></li>
<li><a
class="mozTocH3"
name="mozTocId401691">Install the new version of Eclipse in a new location, separate from any old version of Eclipse.</a></li>
<li><a
class="mozTocH3"
name="mozTocId401691">If you had installed additional features and plug-ins into your old Eclipse, you should re-install them in the new Eclipse.</a></li>
<li><a
class="mozTocH3"
name="mozTocId401691">Start this new version of Eclipse and select this location using the workspace chooser dialog at startup (or use "<code>-data</code>" command line argument to
pre-select the workspace location).
</a></li>
</ol>
<h3>
<a
class="mozTocH3"
name="mozTocId197750">Users who do use "-data"</a>
</h3>
<p>
<a
class="mozTocH3"
name="mozTocId197750"> If you were previously using the " <code>-data</code> " argument to start Eclipse, your upgrade path is much easier:
</a>
</p>
<ol>
<li><a
class="mozTocH3"
name="mozTocId197750">Optionally copy your workspace directory to a new, empty location outside of any Eclipse install directory as a backup.</a></li>
<li><a
class="mozTocH3"
name="mozTocId197750">Install the new version of Eclipse in a new location, separate from any old versions of Eclipse.</a></li>
<li><a
class="mozTocH3"
name="mozTocId197750">If you had installed additional features and plug-ins into your old Eclipse, you should re-install them in the new Eclipse.</a></li>
<li><a
class="mozTocH3"
name="mozTocId197750">Start this new version of Eclipse and select this location using the workspace chooser dialog at startup (or use "<code>-data</code>" command line argument to
pre-select the workspace location).
</a></li>
</ol>
<p>
<a
class="mozTocH3"
name="mozTocId197750"> <i>Note:</i> Copying your workspace is recommended because, after you've upgraded your workspace, you won't be able to use it again with an older version of Eclipse.
If you ever want to go "back in time" to an earlier release, you will need that backup.
</a>
</p>
<h3>
<a
class="mozTocH3"
name="mozTocId839433">Users who use User Libraries or classpath containers that contain JARs referencing other libraries via Class-Path in the MANIFEST.MF</a>
</h3>
<p>
<a
class="mozTocH3"
name="mozTocId839433">If you want the referenced JAR files to be included in the classpath, you can do one of the following:</a>
</p>
<ul>
<li><a
class="mozTocH3"
name="mozTocId839433">Add the system property (<code>-DresolveReferencedLibrariesForContainers=true</code>) to the <code>-vmargs</code> list on start-up, or
</a></li>
<li><a
class="mozTocH3"
name="mozTocId839433">Manually add the referenced JARs to the User Library or to the project.</a></li>
</ul>
<h3>
<a
class="mozTocH3"
name="mozTocId623237">Dropped in bundles may not resolve after upgrade</a>
</h3>
<p>
<a
class="mozTocH3"
name="mozTocId623237"> If you have installed bundles by dropping them into the <code>plugins</code> or <code>dropins</code> directory, they might no longer resolve when you upgrade to a new
Eclipse Platform version. In each new version of the Eclipse Platform, there are new versions of bundles included in the platform, and often a small number of removed bundles. This may cause
your previously dropped in bundles to no longer resolve and run. It is always recommended that you install software via the <code>Help &gt; Install New Software</code> mechanism so you are made
aware of any install-time failure to resolve dependencies.
</a>
</p>
<h2 id="InteroperabilityWithPreviousReleases">
<a
class="mozTocH2"
name="mozTocId638978">Interoperability with Previous Releases</a>
</h2>
<h3>
<a
class="mozTocH3"
name="mozTocId759237">Interoperability of Release 4.16 with previous releases</a>
</h3>
<h4>
<a
class="mozTocH4"
name="mozTocId226004">Sharing projects between heterogeneous Eclipse 4.16 and 4.15</a>
</h4>
<p>Special care is required when a project in a team repository is being loaded and operated on by developers using Eclipse-based products based on different feature or plug-in versions. The
general problem is that the existence, contents, and interpretation of metadata files in the workspaces may be specific to a particular feature or plug-in version, and differ between versions. The
workspace compatibility guarantees only cover cases where all developers upgrade their Eclipse workspaces in lock step. In those cases there should be no problem with shared metadata. However,
when some developers are working in Eclipse 4.16 while others are working in Eclipse 3.x, there are no such guarantees. This section provides advice for what to do and not to do. It addresses the
specific issues with the Eclipse SDK.</p>
<p>The typical failure mode is noticed by the 4.16 user. 4.15 metadata is lost when a 4.16 user saves changes and then commits the updated metadata files to the repository. Here's how things
typically go awry:</p>
<ul>
<li>A user working in Eclipse 4.16 creates or modifies a project in a way that results in changes to a shared metadata file that rely on 4.16-specific information. The user then commits the
updated project files, including the shared metadata file, to the shared repository.</li>
<li><a
class="mozTocH4"
name="mozTocId226004">Another user working in Eclipse 4.15 or earlier shares this project from the same repository. The 4.16-specific information in the shared metadata file is not understood
by Eclipse 4.15, and is generally discarded or ignored without warning. The user modifies the project in a way that results in changes to the shared metadata file, causing the shared metadata
file to be rewritten without any of the 4.16-specific information. The user commits the updated project files, including the shared metadata file, to the shared repository. The user is
generally unaware that shared information has just been lost as a result of their actions.</a></li>
<li><a
class="mozTocH4"
name="mozTocId226004">A user working in Eclipse 4.16 picks up the changes to a project from the shared repository, including the updated shared metadata file. The user may be unaware that
they have just taken a retrograde step until later when things start to malfunction.</a></li>
</ul>
<p>
<a
class="mozTocH4"
name="mozTocId226004">Here are some things to watch out for when sharing projects between Eclipse 4.16 and earlier releases:</a>
</p>
<ul>
<li><a
class="mozTocH4"
name="mozTocId226004"><b>Virtual folders</b> - Eclipse 4.16 supports a notion of <i>virtual folders</i> that did not exist in Eclipse 3.5 or earlier. If such virtual folders are created in
4.16, and the project is subsequently loaded into an Eclipse 3.5 or earlier workspace, these folders will not be recognized. Recommendation: avoid creating virtual folders where project
compatibility with Eclipse 3.5 or earlier is required.</a></li>
<li><a
class="mozTocH4"
name="mozTocId226004"><b>Resource filters</b> - Eclipse 4.16 supports a notion of <i>resource filters</i> that did not exist in Eclipse 3.5 or earlier. If such filters are added to resources
in 4.16, and the project is subsequently loaded into an Eclipse 3.5 or earlier workspace, these filters will not be recognized. Recommendation: avoid creating resource filters where project
compatibility with Eclipse 3.5 or earlier is required.</a></li>
<li><a
class="mozTocH4"
name="mozTocId226004"><b>Predefined path variables</b> - Eclipse 4.16 supports a set of built in path variables that can be used as the basis for linked resource locations. Such variables
will not be defined automatically in Eclipse 3.5 or earlier. If compatibility with 3.5 or earlier workspace is required, users on 3.5 or earlier workspaces will need to define such path
variables manually.</a></li>
</ul>
<h4>
<a
class="mozTocH4"
name="mozTocId574781">Using Eclipse 4.16 to develop plug-ins that work in Eclipse 4.15</a>
</h4>
<p>
<a
class="mozTocH4"
name="mozTocId574781"> It is also possible (and reasonable) to use Eclipse 4.16 to develop a plug-in intended to work in Eclipse 4.15 or earlier. Use the <b>Plug-in Development &gt; Target
Platform </b>preference page to locate non-workspace plug-ins in an Eclipse 4.15 install. This ensures that the code for your plug-in is being compiled and tested against Eclipse 4.15 APIs,
extension points, and plug-ins. (The above list of concerns do not apply since they affect the layout and interpretation of files in the plug-in <i>project</i> but none affect the actual
deployed form of the plug-in.)
</a>
</p>
<h2 id="appendix">
<a
class="mozTocH2"
name="mozTocId317294">Appendix: Execution Environment by Bundle</a>
</h2>
<!--
Remember, the URL to appendix link must be full URL, since some may be
viewing this file, from a "file://" URL
-->
<p>
<a
class="mozTocH2"
name="mozTocId317294"> See the table in the </a><a
href="https://www.eclipse.org/projects/project-plan.php?planurl=http://www.eclipse.org/eclipse/development/plans/eclipse_project_plan_4_16.xml#appendix">Eclipse 4.16 Project Plan Appendix</a> for
the list of the minimum execution environment (Java class library) requirements of each bundle.
</p>
<hr />
<p>Sun, Solaris, Java and all Java-based trademarks are trademarks of Oracle Corporation. in the United States, other countries, or both.</p>
<p>IBM is a trademark of International Business Machines Corporation in the United States, other countries, or both.</p>
<p>Microsoft, Windows, Windows NT, Vista, and the Windows logo are trademarks of Microsoft Corporation in the United States, other countries, or both.</p>
<p>Apple and Mac OS are trademarks of Apple Computer, Inc., registered in the U.S. and other countries.</p>
<p>Other company, product, and service names may be trademarks or service marks of others.</p>
<p>(c) Copyright Eclipse Contributors 2009, 2020</p>
</body>
</html>