I have a WAR project that exposes some web services I also have a JAR project that acts as a client application for the web services. The client application makes http requests to the web services.
To run unit tests I need to set up a jetty server running the web services. I have tried the following 1) use the maven-dependency-plugin to extract the correct WAR from the repository and copy it to sub directory in target. 2) use the maven-jetty-plugin to start a server running the WAR downloaded in the previous step. The server can be started before running the unit tests and stopped when the tests have finished. The jetty plugin is as follows <plugin> <groupId>org.mortbay.jetty</groupId> <artifactId>maven-jetty-plugin</artifactId> <configuration> <stopPort>9966</stopPort> <webApp> ${basedir}/target/iceCreamWar/ICECream.war </webApp> <stopKey>stop</stopKey> </configuration> <executions> <execution> <id>start-jetty</id> <phase>process-test-classes</phase> <goals> <goal>run</goal> </goals> </execution> <execution> <id>stop-jetty</id> <phase>prepare-package</phase> <goals> <goal>stop</goal> </goals> </execution> </executions> </plugin> However if I run it I get the following error message [ERROR] BUILD ERROR [INFO] ------------------------------------------------------------------------ [INFO] Webapp source directory C:\Workspace_MavenBuild\ICECreamClient\src\main\webapp does not exist which is expected as the "run"goal assumes you have a normal web project with a context. If I change the goal to "run-war", then the jetty server does start for the unit test, but only afterwoods. - the jetty documentation talks about "Invokes the execution of the lifecycle phase package prior to executing itself." which I presume is what is happening. Any ideas how to get around this one? Richard