Solution 2

The licence key problem is easy, decide on HOW the licence key will be checked, for example summing the digits adds up to 93, then write a simple function to generate them. Personally, I use a hash code from the registration details, e.g. the user's email.

To make an exe is not trivial. Most apps that appear as exe's just load the jar, a pretty simple step you can search for, try "launch a jar from C#" or whatever language you want to put the launcher in.