Resource Optimization

Build fast applications that don’t need a ton of memory to thrive.

10 Tips for using the Eclipse Memory Analyzer

Understanding the memory use of an application is challenging. A subtle logic error can result in listeners never being disposed, ultimately leading to the dreaded OutOfMemory error. Even if your application is properly disposing of all unused objects, it may still be requiring 10 or 100 times more memory than necessary.

Creating Tomcat heap dumps on Windows

Memory leaks in Java can be detected through the analysis of heap dumps. The first step is to create an HPROF heap dump from the running Java application. [...] I found that creating the dump for a running Apache Tomcat on Windows is not as trivial as it seems, especially if Tomcat is run as a windows service.


Write maintainable and extensible APIs in a flash, with the right Eclipse tooling.

API Tools revisited

Defining APIs is crucial to maintaining modularity. OSGi defines the concepts necessary for API definition such as a service concept and package visibility. However, pure OSGi is not enough to really maintain an API and its potential usages. There are several cases in an API definition where it is required to do more than restrict the accessibility to packages. [...]

Eclipse API Tools Article

API crafting and maintaining is a pain in the ass. Just ask any Eclipse committer who has:
• broken API by introducing a subtle change to a class
• forgotten to rev version numbers when adding new API
• accidentally revved version numbers when not adding new API maintained IWorkbenchPart3, ITextViewerExtension7, IContext2… etc…


Everything you need to write quality JavaScript in Eclipse.

Javascript validation with JSHint in Eclipse

Besides all the Java code in the RAP project, we also have more than 250 JavaScript files which total up to 75k lines of code. For such an amount, you should have some kind of code analysis that detects common coding problems like unintentional global variables. The JSEclipse plug-in for JavaScript editing detects some, but not many JavaScript problems. [...]


jshint-eclipse integrates JSHint, a popular code quality checker for JavaScript, into the Eclipse IDE. This extension can be used to validate JavaScript files in Eclipse. Every problem found by JSHint is represented by a warning marker.

As usual in Eclipse, files are validated automatically when they change.


Git Eclipse integration tips, tutorials and best practices.

Tips and Tricks: Using Eclipse with GitHub

If you're using Eclipse and sharing your code (and issues) on GitHub, you really should take a look at the variety of Eclipse Plugins for working with Git. The most obvious plugin is EGit, the Eclipse Git Plugin. EGit (and the underlying JGit) plugins have improved a great deal over the past 2-3 years.

Eclipse Git Tutorial: A Rebase Workflow with EGit

There are a number of different ways to grab changes from a remote Git repository and bring them into your local repository. The most common way is to simply do a pull. By default this will do a ‘fetch-and-merge‘, but you can configure this to do a ‘fetch-and-rebase‘ instead. [...]

Sharing Git Configurations With Your Team

When new developers join a team, or existing developers move quickly between projects, setting up a development environment can be a real headache. Most software teams will (hopefully) share a set of instructions on a wiki that include: [...]

EGit Tutorial

EGit is the Git integration for the Eclipse IDE. This Tutorial describes the basic use cases for EGit. It requires only some basic knowledge about the Git processes. Please help us to keep this tutorial up-to-date by reporting any issues or questions. The tutorial is now available as a downloadable PDF. [...]


Build engineering solutions that help you deliver faster.

Building an Eclipse Project with Tycho – Experience Report

Build engineering was and is quite a challenge for many of the projects I worked on. For pure Java projects I have often used Maven for building, but for Eclipse/OSGi-based it never really worked out well for us. One of the main reasons was that the information Maven requires to build an artifact (aka plugin/bundle) has significant overlap [...]

Jenkins JaCoCo Plugin released

When it comes to Code Coverage and Java, you can’t ignore JaCoCo. JaCoCo was created by Marc Hoffmann based on the lessons learned using the popular Emma coverage tool. There are plenty of projects using JaCoCo but there was one missing piece – integrating the coverage report into the automated build. Thanks to the Jenkins JaCoCo Plugin, this is no longer a problem.

Building OSGi applications that use AspectJ with Tycho / Maven 3

I just pushed a template for creating AspectJ applications with Tycho. You’ll find it on github.
It contains four infrastructure projects: one defines an OSGi command to calculate faculties, another contains an aspect to measure the duration of the calculation [...]

How to build a RAP application with Tycho

Recently I played around a little with Tycho because we evaluated it for the use in the RTP project. As a test case, I decided to try to build a RAP application with Tycho. With building I mean compiling and packaging the artifacts into a WAR file in order to deploy them on a Tomcat or another Servlet Container.

Maven in Eclipse

In the past I have said some unkind words about about maven’s pom.xml format. My aversion to xml heavy configuration has drawn me to more lightweight approaches to build systems, like gradle. At the same time, I was intrigued that a tool like maven is seeing such a widespread use despite its shortcomings. [...] I figured there might be some tooling available to help ease the pain.

Developer Support

Need a workshop or remote support? Any missing features in the Open-Source that you would like to see implemented?

Check out our Developer Support Packages.


Eclipse technologies to get your environment ready for operation.

Target provisioning with Yoxos

Some of you may have seen Yoxos 5 at EclipseCon 2011. For those who aren’t familiar with it, Yoxos 5 is a tool that enables the creation of a profile that describes your Eclipse installation. Another developer can start the same Eclipse installation by clicking on a .yoxos file. Yoxos will download and install all necessary plugins, set the preferences, [...]

Eclipse p2 Tutorial: Managing Metadata

p2 is a provisioning platform for Eclipse / Equinox based applications. The p2 platform itself is highly modular, meaning it can be carved and assembled in different ways depending on the task at hand. One such separation is the split between the Metadata (description of what can be installed) and the Artifacts (actual bytes that are laid down on disk). [...]

How to package your own p2 repository: FeaturesAndBundlesPublisher

Ever wondered how you can create a p2 repository from an arbitrary bunch of pre-built Eclipse bundles and features? You might also be wondering why you would want to do that.

Production Support

If you're working on a mission-critical system, it's crucial to know that the right people are on call when you need help.

Production Support from EclipseSource experts helps ensure that your system is running smoothly like it should.

UI Design and Testing

Design and test your UIs directly in Eclipse.

Q7 Basic Tutorial

This tutorial gives an introduction to the UI testing tool Q7. Q7 is focused on testing Eclipse plugins and Eclipse RCP applications. The tutorial introduces all the basic steps to evaluate Q7 for your own project. Why UI Testing? The higher-level the test, the more difficult it usually is to automate it. [...]

An open source visual editor for Rich Internet Applications

A few weeks ago Google announced their WindowBuilder contribution to the Eclipse Foundation. The WindowBuilder is a first class visual editor for creating UIs and will be maintained by Google. It contains an Editor for three UI toolkits: [...]

Run UI tests in the background on Linux

When you run JUnit tests that open windows and dialogs, all these windows pop up on your screen like fireworks, making your desktop unusable for minutes.
If you work on Linux, there’s an easy way to get rid of all the flickering. Simply redirect your UI tests onto a virtual screen.

Sketch your UI

From time to time, I’m in the situation when I want to suggest a UI change or even try to come up with a completely new UI. While I love programming, it may be easier in these situations to just “sketch” the idea instead of really getting your feet wet. As many people asked me what I use for UI sketches, I thought I should share the tool with you. It's called WireframeSketcher. [...]

Tool Management with Yoxos

Too many tools to handle in your daily workflow? There’s a tool for that!

Creating your own custom Eclipse package

At EclipseSource, we’ve been helping to creating the Eclipse Packages for over 5 years now. During that time we’ve learned a lot about building tools for developers. One thing we’ve learned is that every development team is different, and a one-size-fits-all approach doesn’t work. You want your Eclipse, your way! [...]

Manage your IDEs with the Yoxos Launcher

As a software developer, I find myself constantly moving between projects. From working on both the Yoxos Client and Server Applications, to working on Eclipse and p2, to hacking on personal GitHub projects, things are always changing. Sometimes I put some work on the shelf where it might sit for weeks. [...]

Tabris meets Yoxos

Packaging a customized IDE for the benefit of your users:

Recently we released a developer preview of Tabris, our new mobile, cross-platform, server-side, app framework. Using Tabris as an example, I’d like to show you that with Yoxos, it's just a matter of minutes in order to define and publish a complete Eclipse-based IDE around your own software platform or framework.

Yoxos: A Whole New Way to EPP

The Eclipse Packaging Project defines pre-configured Eclipse distributions. If you are developing in C/C++, there’s a package for that. If you need to create RCP applications, there’s a package for that. Using p2 or the Eclipse Market Place you can customize your install until your heart’s content. However, each time you download a new package [...]

A new era of managing Eclipse installations has begun

Back in the old days, maintaining an Eclipse installation was easy. But the times have changed. The number of useful plug-ins increased, and developers use different plug-ins in different workspaces.

Imagine you had a system where each plug-in you use is downloaded just once and reused whenever you need it for a new Eclipse IDE.

How to structure two dozen Eclipse workspaces

I have tons of Eclipse workspaces. The last time I counted it was around 24, but it actually changes on a daily basis. With some of my workspaces I want to have a similar IDE as with others, but some IDEs require special plug-ins. A while ago, as I still unzipped Eclipse-downloads, this was a huge pain. Every time I wanted to work in a specific workspace I had to remember which IDE I used for what [...]

Yoxos Pricing

Feel like trying out Yoxos? Create a public profile for free!

Private and shared profiles available at a low monthly fee (starting at $5).
Pricing Options

Yoxos Tips

Tips to help you discover the true power of workspace management.

Yoxos — Sticking with your current release

As many of you know, Eclipse Kepler is coming out on June 26th 2013. As we prepare for this release, we will be pushing some of the release candidates (and eventually the final release) to our production servers. However, for a variety of reasons you may not be ready to upgrade. Maybe the plug-ins you need are not available with Kepler yet; [...]

Adding your own plug-ins to Yoxos

Yoxos is a great way to manage your Eclipse installs. With over 2,000 plug-ins to choose from, you can create your Eclipse, your way. But what if your favorite plug-in is not available in the Yoxos Distribution? I am happy to announce that starting today, you can add your own update sites to a Yoxos Team profile, and use those plug-ins in your Eclipse install. [...]

Creating and Sharing Private Profiles with Yoxos

Getting a new developer up-to-speed can take time. First they need to download the development tools and configure their environment. While some teams use pre-configured packages, like the EPP Packages, most teams extend these tools with extra plug-ins or custom configurations. Many of these have additional dependencies [...]

Editing your Yoxos Profiles on-line

Using Yoxos profiles to manage your Eclipse installs is an easy way to get your tools, your way. However, you usually don't want to create the profile from scratch. I’m happy to announce that starting today, you can create and download your custom Yoxos profile directly from the Yoxos website. Simply login, go to ‘Create a new Yoxos profile‘ and choose from over 2,000 Eclipse plug-ins.

Yoxos: Configuring your bundle pool

Yoxos not only provides you with a way to pool all your plugins in a single directory, but you can also configure that location. Eclipse/p2 bundle pooling means that different applications (different Eclipse configurations for example) can share the same set of bundles. This saves both time and disk-space as you don’t need to download [...]


Enhance and extend your JUnit workflow to write better tests.

A simple Tabris/RAP Test Runner

Writing JUnit Tests for an application is always a good thing. Writing tests for a Tabris or RAP application for the first time seems more challenging: You might encounter an “java.lang.IllegalStateException: No context available outside of the request processing.” exception while running the tests.[...]

EasyMock class extensions in Eclipse PDE tests

EasyMock is a powerful framework to create mock objects to use in Java JUnit tests. When used in an OSGi environment (e.g. to write Eclipse PDE tests), the creation of class extensions can cause trouble. This post describes a problematic use case and possible solutions.

restfuse 1.1.1 released

It has been almost a year since the last restfuse news. In the meantime restfuse was adopted by a lot of individuals and companies. Since the last release the development continued on github and made it now worthwhile to publish an update. Last week we released restfuse 1.1.1. Some noteworthy things are [...]

Simple JUnit4 templates for Eclipse

JUnit and Eclipse are a great combination, but one thing that I missed every time I worked with JUnit4 was the code templates. Currently, Eclipse ships with pre-defined templates for JUnit3 but not for JUnit4. So, I wrote three basic JUnit4 templates that can be imported from the “Templates” Preference Page. [...]

Introducing restfuse – a JUnit Extension to test REST APIs

For several projects at EclipseSource we are creating REST APIs. I’m involved in most of them and there is one thing that bothers me with every project. That is, testing. I mean, of course we are writing our unit tests first and we mock our services to get fast unit tests, but at some point you also have to make sure that [...]

Using JUnit’s “Assume” for faster tests

I wanted to share something I learned today about JUnit. Some of you may know this, but it was news to me. My triggering problem was that I was writing some unit-tests which required OSGi to be started up. All my other tests were plain (i.e. non-OSGi) tests. Since I didn’t want to suffer from the startup delay [...]

The Future of Eclipse Tools

The future’s in the making: what tools will we be using tomorrow?

Jnect: Kinect and Eclipse

You might have seen me waving and moving around a lot recently during presentations at Democamps and during my talks at EclipseCon’s. The reason is not a new style in giving talks, it is the topic. The goal of the Jnect project is to connect the Microsoft Kinect SDK with Eclipse/Java. [...]

Where is the evidence

As tool developers — building the Best Integrated Development Environment (Eclipse) — we need to hold ourselves to higher standards. We cannot be designing future IDEs based solely on what works well for me. [...]