1 //
2 // ========================================================================
3 // Copyright (c) 1995-2016 Mort Bay Consulting Pty. Ltd.
4 // ------------------------------------------------------------------------
5 // All rights reserved. This program and the accompanying materials
6 // are made available under the terms of the Eclipse Public License v1.0
7 // and Apache License v2.0 which accompanies this distribution.
8 //
9 // The Eclipse Public License is available at
10 // http://www.eclipse.org/legal/epl-v10.html
11 //
12 // The Apache License v2.0 is available at
13 // http://www.opensource.org/licenses/apache2.0.php
14 //
15 // You may elect to redistribute this code under either of these licenses.
16 // ========================================================================
17 //
18
19 package org.eclipse.jetty.maven.plugin;
20
21 import org.apache.maven.plugin.MojoExecutionException;
22 import org.apache.maven.plugin.MojoFailureException;
23
24
25 /**
26 * <p>
27 * This goal is similar to the jetty:run goal, EXCEPT that it is designed to be bound to an execution inside your pom, rather
28 * than being run from the command line.
29 * </p>
30 * <p>
31 * When using it, be careful to ensure that you bind it to a phase in which all necessary generated files and classes for the webapp
32 * will have been created. If you run it from the command line, then also ensure that all necessary generated files and classes for
33 * the webapp already exist.
34 * </p>
35 *
36 * @goal start
37 * @requiresDependencyResolution test
38 * @execute phase="validate"
39 * @description Runs jetty directly from a maven project from a binding to an execution in your pom
40 */
41 public class JettyStartMojo extends JettyRunMojo
42 {
43
44 @Override
45 public void execute() throws MojoExecutionException, MojoFailureException
46 {
47 nonblocking = true; //ensure that starting jetty won't hold up the thread
48 super.execute();
49 }
50
51
52 @Override
53 public void finishConfigurationBeforeStart() throws Exception
54 {
55 super.finishConfigurationBeforeStart();
56 server.setStopAtShutdown(false); //as we will normally be stopped with a cntrl-c, ensure server stopped
57 }
58
59 }