I was asked to make a program (in java) by some person but I was stacked as I didn't know how to generate and exe file from my jar file... It would be useless If I install for them the jdk environment as this person don't how to program... Does anyone knows ho to do this or what tool should I use ?

You don't need to leave your email here. It's best that people answer publicly so that knowledge is shared. There's alway the option " I'd like email notifications of activity on my questions and answers" in the prefs of your profile.
–
spenderFeb 18 '10 at 13:06

As Lucas mentions above, you will need to install the JRE on the user's machine to get a Java app to run properly. If it is a small program, you could consider making a .bat file (or .sh file on *nux) to allow the user to run the program. Your bat file could as simple as the one below. Just put in a .bat file and add as a short cut. I know there are more elegant solutions out there, but this is simple and should work.

Launch launch4j is also free. I've found it to be a good solution. It has an option to direct users to dl location if the correct JVM is not installed. Splash screen and other goodies as well. I've used it successfully in multiple projects.
–
David HamiltonFeb 18 '10 at 14:04

They don't need to install the entire JDK to run the jar file, all they need is the significantly smaller JRE. This is standard practice when distributing java applications.

A big advantage of running your java program on the jvm as compared to generating a native binary is that it will, assuming you aren't using a platform-dependent library, be platform-independent straight away.

You can use Excelsior JET. It is not free, work quite slow, but you can create executable (very huge executable). I tested it on Windows and it worked. But executable it created was slower then .jar run using JRE.

There is also GCJ. I tried it, but it was too hard for me to compile my project.