Using the "start" goal would be incorrect: AFAIK you need to start another process to pass the jacoco jvm args into.
So you want to use "run-forked". However, you shouldn't use "waitForChild=true". That will make the whole maven process wait for jetty to run and won't progress until jetty stops. So you want waitForChild=false. That will kick off the new process (passing
in any special jvm args you've specified), and read the output of the process looking for the signal that the process started correctly: it will read up to maxStartupLines looking for that signal. waitForChild=true is ok just for manual debugging purposes,
but not for automated test runs.
How do you know the server wasn't starting when you used waitForChild=false? Was there any more output from the plugin?
If you've got a WEB-INF/jetty-web.xml file that will be found and applied to the webapp just before the startup is finished, you should also be trying to use it as a context xml file. In recent versions of the jetty plugin, you've been able to put a lot
of configuration onto the <webApp> element instead of requiring a context file, so please have a look at the doco and see if you can do that.
Finally, have a look at your logging configuration for the forked jetty instance: are you trying to log everything to logback (ie including container messaging) or only application messaging? Try configuring logback to write to a log file so you can see
what's going on, even if waitForChild=false.