Building an application into an executable instead of the executable JAR?

Hi there bnd people,

I have been building and releasing an application as an executable JAR for some time now and I have been wondering: Is it possible to create executables for Windows, Mac and Unix with bndtools? So .exe, .app, etc.

I don’t really want to use Maven Tycho to do that because all the poms seem really unnecessary.


  • hydraulic – Allows you to customize in detail the different platforms but handles all the complex chores. Very professional. Commercial but free for open source.
  • jdeploy – Very easy to get started but docs leave something to be desired.

If you look on the net you can find some companies that have tools to make executables for different platforms. Usually it has a native front end that installs the Java VM and downloads the jar.

You can also use our GeckoRCP (I still have to finalize the release): GitHub - geckoprojects-org/org.gecko.bnd.eclipse at snapshot

It provides an Export that uses the Eclipse native launchers. We don’t support Mac right now, as I never had a Mac to test with.

This looks very promising. I am currently in the progress of getting a Maven Tycho Build running and “Its cumbersome” understates the problem heavily: I only get an empty Eclipse Platform as build result even tho target and product are both defined :confused:

I took a look at your work and I was wondering if it would be possible to build the RCP App from the command line? Because I am building my application using bnd+gradle in a Github Workflow and Release the JARs to Github Releases.

Edit: Thinking about it, I did not specify the necessary org.eclipse.core.runtime.products
extension for any plug-in. thought that the SCR (in my case Apache Felix SCR) should cover this? How do I define that?

Sorry for the late replay: Yes it works from the commandline as well.

It hooks into the bnd mechanism for exporting applications. So you can use it the “normal” mechanism. If you use it with gradle it should be e.g. ./gradlew export.

1 Like