We can start Jetty with the jetty:run
command in NetBeans, but because of an issue for Windows users (see issue 138116) we cannot shutdown Jetty from within NetBeans. We can of course start the Windows TaskManager and kill the process by hand, but wouldn't it be nice of we could just stop Jetty from within NetBeans?
Luckily this is not so difficult to achieve. First we must change our pom.xml
and add some elements to the Jetty plugin definition. Let's look at a sample from our project's pom.xml
:
<plugin> <groupId>org.mortbay.jetty</groupId> <artifactId>maven-jetty-plugin</artifactId> <version>6.1.7</version> <configuration> <connectors> <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector"> <port>8888</port> <maxIdleTime>30000</maxIdleTime> </connector> </connectors> <contextPath>/</contextPath> </configuration> </plugin>
Now we must add stopKey
and stopPort
elements to the configuration
element. The stopKey
is a text string supplied with the stop command. And the stopPort
is the port number Jetty will listen to for stop commands. So now we get the following definition (see line 12-13):
<plugin> <groupId>org.mortbay.jetty</groupId> <artifactId>maven-jetty-plugin</artifactId> <version>6.1.7</version> <configuration> <connectors> <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector"> <port>8888</port> <maxIdleTime>30000</maxIdleTime> </connector> </connectors> <contextPath>/</contextPath> <stopKey>stop</stopKey> <stopPort>8889</stopPort> </configuration> </plugin>
Next we must invoke the jetty:stop
command to stop a running Jetty instance. We right-click on our project and select Custom | Goals.... We get a dialog window where we can fill in values. We fill the Goals field and Remember as field with the value jetty:stop
. We click the OK button to close the dialog.
And now we can execute the jetty:stop
command right from within NetBeans. We right-click on our project, select Custom | jetty:stop and NetBeans will stop a running Jetty instance.