An interesting side effect of this causes a problem when starting runnable jar files in the command prompt.
If you try (in a command prompt)
jarfile.jar parameter
No joy, because this is being translated to:
javaw.exe -jar jarfile.jar parameter
it won't work, however:
java.exe -jar jarfile.jar parameter
does work.
If you change the association in file manager as described above to:
"C:\Program Files\Java\j2re1.4.2_04\bin\java.exe" -jar "%1" %*
you can then type:
jarfile.jar parameter
in the command prompt and it will now work! EDIT:(However you then get a black console window when you run a form based (non console) Java app, so this is not an ideal solution)
If you run these jar files by double clicking them in windows, no parameters will be passed so your Java code needs to handle the stack overflow exception and include a "press a key" function at the end or the window will just disappear.
In order to pass a parameter in windows you have to create a shortcut to the jar file, which includes the parameter in the target line (right click on the shortcut and select properties) you can not add parameters to the jar file icon itself in this way.
There isn't a common tidy solution here, but you would have the same problem with any other console application. There is always a compromise.
There is a windows freeware application called "bat to exe" which you can use to create an exe file from a .bat file with the apropriate command line in it. you can also embed the jar file in the exe with this application, and make it clean it up when it has finished running, so this may be a more elegant solution.