I wonder if there is a tool which creates a demoable version of my grails projects. Something which I can distribute on a CD or USB stick which will run on every environment.
Something which
- comes with one shell script to start the app
- searches for a free server port on the system (no error message if 8080 is already in use)
- starts a jetty server
- starts the standard browser with my application
Does anybody know of such a tool?
Check out the standalone plugin it makes it a lot easier to distribute a demo version of your Grails app.
Full docs for the standalone plugin are here
To prepare the jar file...
To run the Grails app (the port is specified as a parameter)...
java -jar /path/to/jar_name.jar cool_demo localhost 9000
Update:
There are actually 2 Grails standalone plugins:
There are also some options based on Hudson and the Winstone project but there isn't a Grails plugin. Here are some links with further information: Build executable war using grails, maven and jetty, Executable WARs with Jetty and Winstone
Best thing that comes to mind is using a Linux distro on a USB stick with grails installed. You can export the application as a WAR file, then create a script containing
grails prod run-war
to execute on boot. Finally, you can open up firefox withfirefox localhost:port#/AppName
The only downside with this option is you need to boot from the stick and that will create a bit of delay time. However, the advantages are that you only have to worry about supporting one OS, no port scanning on startup and simplicity.
The answer proposed by Chris does not work for my, but it provided me a good starting point: It seems that it isn't too hard to create such a standalone app:
that's it. I guess I'll post more details when I find some more time...