NOW Hiring

Quick links

Eclipse Target Platform. Via a target platform you define which set of plug-ins and what version of Eclipse you develop against. This tutorial describes how to setup your target platform for Eclipse Plug-in and RCP development.

1. Target platform for defining available plug-ins for development

The set of plug-ins which you can use for your development or your build process to resolve the project dependencies is defined by the plug-ins in your workspace in addition with the plug-ins defined by your target platform . For example your plug-ins use classes from the SWT and JFace plug-ins. By default the plug-in installed in your Eclipse IDE installation are used as target platform.

A target definition file is typically shared between the developers to ensure that everyone is using the same basis for development.

It is good practice to develop and build against a specific target definition. This way it can be ensured that dependencies and their versions doesn’t change during the development. Via an explicit target definition it can also be ensured that all developers in a team are using the same dependencies and versions, rather than being dependent on the versions installed in the IDE of every developer.

2. Defining a target platform

You can specify your target platform with a target definition file . With such a file you define the available plug-ins and features.

A target platform can be defined based on software sites (p2 update sites) or other means. As build systems like Maven Tycho support only p2 update sites, it is recommended to use only these.

A target definition file can be created via File ▸ New ▸ Other…​ ▸ Plug-in Development ▸ Target Definition.

Define File name for Target Definition

You can add new locations via the Add…​ button in the Locations section. To add an Eclipse p2 update site, select Software Site and specify the URL.

Once you have a target definition file, you can set it as the target platform in your Eclipse IDE. This can be done via the Set as Target Platform link in the Target definition editor as depicted in the following screenshot.

Setting the new defined target definition as target for the development
Wait until the target platform is completely resolved before setting it as target platform.

All plug-ins you are planning to use in your application and test code must be included in the target definition. For example, if you want, for example, use SWTBot for unit tests, add SWTBot for SWT Testing features from to your target platform.

Definition of a target definition file

You can switch the target platform in the Eclipse Preferences. Select Window ▸ Preferences ▸ Plug-in Development ▸ Target Platform .

Setting the target definition via the Eclipse Preferences

The most effective way of defining your target platform is to use p2 update sites. These are of the same type as the update sites that you used to install a new set of plug-ins. If the content in the update sites defined by your target platform changes, your local set of plug-ins can be updated.

It is also possible to define your target platform based on plug-ins in your file system, but this is not recommended as certain build system like Maven/Tycho do not support file based target definition files.

3. Exercise: Setting up a target platform

3.1. Creating a target definition file

Create a new project called of type General via File ▸ New ▸ Other…​ ▸ General ▸ Project.

Create a project for your target definition file

Create a new target definition file via the File ▸ New ▸ Other…​ ▸ Plug-in Development ▸ Target Definition menu path. Use the as file name.

Define target definition file

Press the Add…​ button.

Add content to target definition file

Select Software site in the following dialog.

Add content to target definition file

Press the Next button and enter the update site URL of the target release in the Work with selection box. This is for example: for the Eclipse 4.6 (Neon) release.

Remove the Group by Category flag and add the following components:

Table 1. Target components
Component Description

Eclipse Platform SDK

Components for RCP

Equinox Target Components

The native launchers for the platform, ensure to select the non "black and white" entry if this exists. This entry is empty.

After you close this dialog, the target definition is resolved, which will take a while. The result should look similar to the following screenshot. Please note that your version numbers might be different.

tutorial targetdefinition40

3.2. Activate your target platform

Afterwards press the Set as Target Platform to activate it.

To check if your definition is active, try to open the SpyHandler class via Ctrl+Shift+T (Open Type). This should not be possible.

3.3. Solving potential issues for development

Your target platform depends on external update sites and their packaging of plug-ins. Theses update sites might change over time, so you should be able to revert your target platform settings in case you face issues.

You can switch back to your Eclipse IDE as target platform via Window ▸ Preferences ▸ Plug-in Development ▸ Target Platform .

tutorial targetdefinition60
If you face issues with your target platform, try switching to the IDE as target platform and afterwards switch back to your definition. That sometimes solves target resolution issues.

4. Learn more about Eclipse 4 RCP development

I hope you enjoyed this tutorial. You find this tutorial and much more information also in the - Eclipse 4 RCP book from this author.

5. About this website

6. Target platform resources

6.1. vogella GmbH training and consulting support


The vogella company provides comprehensive training and education services from experts in the areas of Eclipse RCP, Android, Git, Java, Gradle and Spring. We offer both public and inhouse training. Whichever course you decide to take, you are guaranteed to experience what many before you refer to as “The best IT class I have ever attended”.

The vogella company offers expert consulting services, development support and coaching. Our customers range from Fortune 100 corporations to individual developers.

Copyright © 2012-2016 vogella GmbH. Free use of the software examples is granted under the terms of the EPL License. This tutorial is published under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Germany license.

See Licence.