I'd like to do the following but am not sure if it can be done and if so how. Create a Grails application on my local machine and test it. Then somehow package it up along with the Jetty server, and install it on a users desktop. The installer would put an icon in the start menu that would launch the server and load the start page in either the users default browser, or a Java application that would imbed the webpage.
If Jetty is not a high priority item you can try the Winstone servlet container. You can create an "executable war file" which either can be deployed on a servlet container or simply start with java -jar your.war.
Winstone integration for Grails are on radar so maybe Grails can produce "executable war" in the future.
The start menu and desktop integration can be quite easily created using an installer creation software (e.g. NSIS).
UPDATE: it seems that there is something work differently (or broken) in winstone from version 0.9.5 (it was the first version which supports Servlet 2.5/JSP 2.1). I tried some older versions and 0.8.1 seems to work fine with my test Grails application.
I find the issue, but I don't know how to solve it. When you hit /controller/action, it issues a 302 (redirect) to request /controller/action.dispatch. For some reason this 302 is not interpreted by the "grails" dispatch servlet. If you access /controller/action.dispatch directly, it works flawlessly.
Does anyone knows how to fix this or at least debug it?