Using the Maven Jetty plugin
This note is to describe the above plugin. which will run your web application in an embedded Jetty6 instance by just
typing "mvn jetty:run"
- No need to download or install Jetty manually, it's all automatic once the Maven project
descriptor's set up (the pom.xml)
Configuring HowTo
Add the following to the <build><plugins>
block of your projects pom.xml
<plugin> <groupId>org.mortbay.jetty</groupId> <artifactId>maven-jetty-plugin</artifactId> </plugin>
Running
In order to run Jetty on a webapp project which is structured according to the usual Maven defaults, you don't need to configure anything.
Simply type:
mvn jetty:run
Due to a bug in maven or the maven-jetty-plugin this only works if no jetty artifact is present in the dependencies section of the pom.xml file. This is the case for wicket-quickstart, wicket-examples and wicket-threadtest. So the tips given here can't be applied to those projects.
Running the webapp in debug mode using Java Platform Debugger Architecture (JPDA)
Using maven command line:
I couldn't find a command line reference for maven2, but the one given for maven1 still aplies for the feature used here:
First set MAVEN_OPTS environment variable with the following command:
export MAVEN_OPTS='-Xdebug -Xrunjdwp:transport=dt_socket,address=4000,server=y,suspend=y'
After setting this property, run "maven jetty:run" and it will block, waiting for a debug connection. If "suspend=n" is set, it will start right away.
Using eclipse external tools:
Running Eclipse Open "Run --> External Tools --> External Tools... --> Program". Press "New launch configuration". On the "Main" tab, fill in the "Location:" as the full path to your "mvn" executable. For the "Working Directory:" select the workspace that matches your webapp. For "Arguments:" add jetty:run.
Move to the "Environment" tab and click the "New" button to add two new variables:
name |
value |
---|---|
MAVEN_OPTS |
-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=4000,server=y,suspend=y |
JAVA_HOME |
Path to your java executable |
As above the jvm will start right away when "suspend=n" is set.
Attaching to the server running in debug mode, using eclipse:
Running Eclipse Open "Run --> Debug... --> Remote Java Application". Press "New launch configuration". Fill in the dialog by selecting your webapp project for the "Project:" field, and ensure you are using the same port number as you specified in the address= property above.
Now all you need to do is Run/Debug and select the name of the debug setup you setup above.
This article is a gathering of information, credits need to be given to the authors of the pages behind the given links.