I made a Java application which I would like to distribute on Windows, OSX and Linux without distributing a jar file. I used the great Windows exe wrapper http://launch4j.so
Github user Jorl17 made an excellent Python script called jar2app that does this with one simple command. It even lets you customize the app icon.
https://github.com/Jorl17/jar2app
Just install it, follow the instructions, and you get the .app file.