I am trying to develop a distribution package for a complex simulator with a web-based front-end (see www.powertac.org). The simulator is a Spring-based application with 11 separate modules. We have distributed a "headless" version (without the web front-end) that allows a user to simply download the pom.xml and run the server directly - maven downloads all the pieces, if necessary, and calls the main class with command-line args.
Now I want to distribute a version that includes the simulator and the web app, and I want users to have the same experience - just issue a maven command and have it start and run in a web container. The user should not be required to have an existing installation of jetty or tomcat. I have tried to configure the cargo plugin to do this; It downloads jetty correctly, and the war file appears to contain all the dependencies (under WEB-INF/lib), but it acts as if the dependencies are not in the classpath. If there's a way to get the simulator and all the dependencies for the war file into the jetty classpath, I have not found it.
Is there some trick to this? Is it even possible?
Thanks in advance!