{"id":10068,"date":"2013-03-20T16:00:59","date_gmt":"2013-03-20T14:00:59","guid":{"rendered":"http:\/\/www.javacodegeeks.com\/?p=10068"},"modified":"2013-03-20T07:07:12","modified_gmt":"2013-03-20T05:07:12","slug":"using-maven-jetty-plugin","status":"publish","type":"post","link":"https:\/\/www.javacodegeeks.com\/2013\/03\/using-maven-jetty-plugin.html","title":{"rendered":"Using Maven Jetty plugin"},"content":{"rendered":"<p>Although I am using <a href=\"maven.apache.org\/\">Maven<\/a> since a long time I never used the <a href=\"http:\/\/jetty.codehaus.org\/jetty\/\">Jetty<\/a> plugin until recently. To be able to test a <a href=\"http:\/\/en.wikipedia.org\/wiki\/Representational_state_transfer\">REST<\/a> client I created a servlet which showed me all incoming parameters and headers with the incoming request. To run the servlet in a container I decided to give the <a href=\"http:\/\/wiki.eclipse.org\/Jetty\/Feature\/Jetty_Maven_Plugin\">Maven Jetty plugin<\/a> a go. So first I create a web application by using the specific Maven archetype:<br \/>\n&nbsp;<br \/>\n&nbsp;<br \/>\n&nbsp;<br \/>\n&nbsp;<br \/>\n&nbsp;<br \/>\n&nbsp;<\/p>\n<pre class=\"brush:bash\">mvn archetype:generate -DgroupId=net.pascalalma -DartifactId=rest-service -Dversion=1.0.0-SNAPSHOT -DarchetypeArtifactId=maven-archetype-webapp<\/pre>\n<p>This results in the complete project and the following logging:<\/p>\n<pre class=\" brush:bash\">[INFO] Scanning for projects...\r\n[INFO]                                                                         \r\n[INFO] ------------------------------------------------------------------------\r\n[INFO] Building Maven Stub Project (No POM) 1\r\n[INFO] ------------------------------------------------------------------------\r\n[INFO] \r\n[INFO] &gt;&gt;&gt; maven-archetype-plugin:2.2:generate (default-cli) @ standalone-pom &gt;&gt;&gt;\r\n[INFO] \r\n[INFO] &lt;&lt;&lt; maven-archetype-plugin:2.2:generate (default-cli) @ standalone-pom &lt;&lt;&lt;\r\n[INFO] \r\n[INFO] --- maven-archetype-plugin:2.2:generate (default-cli) @ standalone-pom ---\r\n[INFO] Generating project in Interactive mode\r\nDownloading: http:\/\/artifactory.redstream.nl\/repo\/org\/apache\/maven\/archetypes\/maven-archetype-webapp\/1.0\/maven-archetype-webapp-1.0.jar\r\nDownloaded: http:\/\/artifactory.redstream.nl\/repo\/org\/apache\/maven\/archetypes\/maven-archetype-webapp\/1.0\/maven-archetype-webapp-1.0.jar (4 KB at 5.2 KB\/sec)\r\nDownloading: http:\/\/artifactory.redstream.nl\/repo\/org\/apache\/maven\/archetypes\/maven-archetype-webapp\/1.0\/maven-archetype-webapp-1.0.pom\r\nDownloaded: http:\/\/artifactory.redstream.nl\/repo\/org\/apache\/maven\/archetypes\/maven-archetype-webapp\/1.0\/maven-archetype-webapp-1.0.pom (533 B at 1.1 KB\/sec)\r\n[INFO] Using property: groupId = net.pascalalma\r\n[INFO] Using property: artifactId = rest-service\r\n[INFO] Using property: version = 1.0.0-SNAPSHOT\r\n[INFO] Using property: package = net.pascalalma\r\nConfirm properties configuration:\r\ngroupId: net.pascalalma\r\nartifactId: rest-service\r\nversion: 1.0.0-SNAPSHOT\r\npackage: net.pascalalma\r\n Y: : Y\r\n[INFO] ----------------------------------------------------------------------------\r\n[INFO] Using following parameters for creating project from Old (1.x) Archetype: maven-archetype-webapp:1.0\r\n[INFO] ----------------------------------------------------------------------------\r\n[INFO] Parameter: groupId, Value: net.pascalalma\r\n[INFO] Parameter: packageName, Value: net.pascalalma\r\n[INFO] Parameter: package, Value: net.pascalalma\r\n[INFO] Parameter: artifactId, Value: rest-service\r\n[INFO] Parameter: basedir, Value: \/Users\/pascal\/projects\r\n[INFO] Parameter: version, Value: 1.0.0-SNAPSHOT\r\n[INFO] project created from Old (1.x) Archetype in dir: \/Users\/pascal\/projects\/rest-service\r\n[INFO] ------------------------------------------------------------------------\r\n[INFO] BUILD SUCCESS\r\n[INFO] ------------------------------------------------------------------------\r\n[INFO] Total time: 13.057s\r\n[INFO] Finished at: Sun Feb 03 17:13:33 CET 2013\r\n[INFO] Final Memory: 7M\/81M\r\n[INFO] ------------------------------------------------------------------------\r\nMacBook-Air-van-Pascal:projects pascal$<\/pre>\n<p>Next I added the servlet code to the project:<div style=\"display:inline-block; margin: 15px 0;\"> <div id=\"adngin-JavaCodeGeeks_incontent_video-0\" style=\"display:inline-block;\"><\/div> <\/div><\/p>\n<pre class=\" brush:java\">package net.pascalalma.servlets;\r\n\r\nimport java.io.IOException;\r\nimport java.io.PrintWriter;\r\nimport java.util.Enumeration;\r\nimport javax.servlet.ServletException;\r\nimport javax.servlet.http.HttpServlet;\r\nimport javax.servlet.http.HttpServletRequest;\r\nimport javax.servlet.http.HttpServletResponse;\r\n\r\n\/**\r\n *\r\n * @author pascal\r\n *\/\r\npublic class TestRestServlet extends HttpServlet {\r\n\r\n    public void doGet(HttpServletRequest request,\r\n            HttpServletResponse response)\r\n            throws ServletException, IOException {\r\n        PrintWriter out = response.getWriter();\r\n        out.println('GET method called');\r\n        out.println('parameters:\\n ' + parameters(request));\r\n        out.println('headers:\\n ' + headers(request));\r\n    }\r\n\r\n    public void doPost(HttpServletRequest request,\r\n            HttpServletResponse response)\r\n            throws ServletException, IOException {\r\n        PrintWriter out = response.getWriter();\r\n        out.println('POST method called');\r\n        out.println('parameters: ' + parameters(request));\r\n        out.println('headers: ' + headers(request));\r\n    }\r\n\r\n    public void doDelete(HttpServletRequest request,\r\n            HttpServletResponse response)\r\n            throws ServletException, IOException {\r\n        PrintWriter out = response.getWriter();\r\n        out.println('Delete method called');\r\n    }\r\n\r\n    private String parameters(HttpServletRequest request) {\r\n        StringBuilder builder = new StringBuilder();\r\n        for (Enumeration e = request.getParameterNames(); e.hasMoreElements();) {\r\n            String name = (String) e.nextElement();\r\n            builder.append('|' + name + '-&gt;' + request.getParameter(name)+'\\n');\r\n        }\r\n        return builder.toString();\r\n    }\r\n\r\n    private String headers(HttpServletRequest request) {\r\n        StringBuilder builder = new StringBuilder();\r\n        for (Enumeration e = request.getHeaderNames(); e.hasMoreElements();) {\r\n            String name = (String) e.nextElement();\r\n            builder.append('|' + name + '-&gt;' + request.getHeader(name)+'\\n');\r\n        }\r\n        return builder.toString();\r\n    }\r\n}<\/pre>\n<p>And configure the servlet in the \u2018web.xml\u2019. By the way the generated \u2018web.xml\u2019 wasn\u2019t able to be shown in my <a href=\"http:\/\/netbeans.org\/downloads\/\">Netbeans<\/a> version (v7.2.1). I got the message:<\/p>\n<blockquote>\n<p>Web application version is unsupported. Upgrade web.xml to version 2.4 or newer or use previous version of NetBeans<\/p>\n<\/blockquote>\n<p>To fixed this I modified the web.xml so it starts with the following declaration of namespaces:<\/p>\n<pre class=\" brush:xml\">&lt;web-app xmlns:xsi='http:\/\/www.w3.org\/2001\/XMLSchema-instance' \r\nxmlns='http:\/\/java.sun.com\/xml\/ns\/javaee' \r\nxmlns:web='http:\/\/java.sun.com\/xml\/ns\/javaee\/web-app_2_5.xsd' \r\nxsi:schemaLocation='http:\/\/java.sun.com\/xml\/ns\/javaee \r\nhttp:\/\/java.sun.com\/xml\/ns\/javaee\/web-app_2_5.xsd' id='WebApp_ID' version='2.5'&gt;<\/pre>\n<p>Next add the servlet to the modified \u2018web.xml\u2019:<\/p>\n<pre class=\" brush:xml\">&lt;?xml version='1.0' encoding='UTF-8'?&gt;\r\n...\r\n  &lt;display-name&gt;Archetype Created Web Application&lt;\/display-name&gt;\r\n  &lt;servlet&gt;\r\n    &lt;servlet-name&gt;TestRestServlet&lt;\/servlet-name&gt;\r\n    &lt;servlet-class&gt;net.pascalalma.servlets.TestRestServlet&lt;\/servlet-class&gt;\r\n  &lt;\/servlet&gt;\r\n  &lt;servlet-mapping&gt;\r\n    &lt;servlet-name&gt;TestRestServlet&lt;\/servlet-name&gt;\r\n    &lt;url-pattern&gt;\/TestRestServlet&lt;\/url-pattern&gt;\r\n  &lt;\/servlet-mapping&gt;\r\n...<\/pre>\n<p>Now everything is ready to test the servlet. As I said before I am going to use the Jetty plugin for this. To add the plugin to the project simply put the following in your \u2018pom.xml\u2019:<\/p>\n<pre class=\" brush:xml\">&lt;plugins&gt;\r\n  &lt;plugin&gt;\r\n    &lt;groupId&gt;org.mortbay.jetty&lt;\/groupId&gt;\r\n    &lt;artifactId&gt;jetty-maven-plugin&lt;\/artifactId&gt;\r\n    &lt;configuration&gt;\r\n      &lt;scanIntervalSeconds&gt;10&lt;\/scanIntervalSeconds&gt;\r\n      &lt;contextPath&gt;\/&lt;\/contextPath&gt;\r\n      &lt;scanIntervalSeconds&gt;10&lt;\/scanIntervalSeconds&gt;\r\n      &lt;stopKey&gt;STOP&lt;\/stopKey&gt;\r\n      &lt;stopPort&gt;8005&lt;\/stopPort&gt;\r\n      &lt;port&gt;8080&lt;\/port&gt;\r\n    &lt;\/configuration&gt;\r\n  &lt;\/plugin&gt;\r\n&lt;\/plugins&gt;<\/pre>\n<p>Now I can run the command \u2018mvn jetty:run\u2019 in my terminal to have the container running the servlet. The log should end with something like:<\/p>\n<pre class=\" brush:bash\">....\r\n2013-02-19 09:54:53.044:INFO:oejs.AbstractConnector:Started SelectChannelConnector@0.0.0.0:8080\r\n[INFO] Started Jetty Server\r\n[INFO] Starting scanner at interval of 10 seconds.&lt;\/code&gt;<\/pre>\n<p>Now if you open a browser and go to the this url \u2018<a href=\"http:\/\/localhost:8080\/TestRestServlet?bla=true&amp;#8217\" rel=\"nofollow\">http:\/\/localhost:8080\/TestRestServlet?bla=true&amp;#8217<\/a>; you will see the servlet in action and outputting to the browser:<\/p>\n<pre class=\"brush:bash\">GET method called\r\nparameters:\r\n|bla-&gt;true<\/pre>\n<pre class=\"brush:bash\">headers:\r\n|DNT-&gt;1\r\n|Host-&gt;localhost:8080\r\n|Accept-&gt;text\/html,application\/xhtml+xml,application\/xml;q=0.9,*\/*;q=0.8\r\n|Accept-Charset-&gt;ISO-8859-1,utf-8;q=0.7,*;q=0.3\r\n|Accept-Language-&gt;en-US,en;q=0.8\r\n|User-Agent-&gt;Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit\/537.17 (KHTML, like Gecko) Chrome\/24.0.1312.57 Safari\/537.17\r\n|Connection-&gt;keep-alive\r\n|Cache-Control-&gt;max-age=0\r\n|Accept-Encoding-&gt;gzip,deflate,sdch<\/pre>\n<p>One note: As you can see in the plugin configuration I have added a few extra parameters for my convenience. So will the container check every 10 seconds for changes in the servlet, so I don\u2019t have to restart the Jetty container after each change of the servlet. To stop the container you can now enter the command \u2018mvn jetty:stop -DstopPort=8005 -DstopKey=STOP\u2019 in another terminal session. By the way, make sure you name the plugin \u2018jetty-maven-plugin\u2019 and not \u2018maven-jetty-plugin\u2019 because then you will be using <a href=\"http:\/\/stackoverflow.com\/questions\/2516782\/why-2-versions-of-jetty-maven-plugins\">an old version of the plugin<\/a> which doesn\u2019t pickup the configuration parameters (yes, very confusing and frustrating as I found out).<br \/>\n&nbsp;<\/p>\n<p><b><i>Reference: <\/i><\/b><a href=\"http:\/\/pragmaticintegrator.wordpress.com\/2013\/03\/01\/using-maven-jetty-plugin\/\">Using Maven Jetty plugin<\/a> from our <a href=\"http:\/\/www.javacodegeeks.com\/p\/jcg.html\">JCG partner<\/a> Pascal Alma at the <a href=\"http:\/\/pragmaticintegrator.wordpress.com\/\">The Pragmatic Integrator<\/a> blog.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Although I am using Maven since a long time I never used the Jetty plugin until recently. To be able to test a REST client I created a servlet which showed me all incoming parameters and headers with the incoming request. To run the servlet in a container I decided to give the Maven Jetty &hellip;<\/p>\n","protected":false},"author":366,"featured_media":73,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[68,375],"class_list":["post-10068","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-enterprise-java","tag-apache-maven","tag-codehaus-jetty"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Using Maven Jetty plugin<\/title>\n<meta name=\"description\" content=\"Although I am using Maven since a long time I never used the Jetty plugin until recently. To be able to test a REST client I created a servlet which\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.javacodegeeks.com\/2013\/03\/using-maven-jetty-plugin.html\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Using Maven Jetty plugin\" \/>\n<meta property=\"og:description\" content=\"Although I am using Maven since a long time I never used the Jetty plugin until recently. To be able to test a REST client I created a servlet which\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.javacodegeeks.com\/2013\/03\/using-maven-jetty-plugin.html\" \/>\n<meta property=\"og:site_name\" content=\"Java Code Geeks\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/javacodegeeks\" \/>\n<meta property=\"article:published_time\" content=\"2013-03-20T14:00:59+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/apache-maven-logo.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"150\" \/>\n\t<meta property=\"og:image:height\" content=\"150\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Pascal Alma\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@https:\/\/twitter.com\/paskal_1973\" \/>\n<meta name=\"twitter:site\" content=\"@javacodegeeks\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Pascal Alma\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2013\\\/03\\\/using-maven-jetty-plugin.html#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2013\\\/03\\\/using-maven-jetty-plugin.html\"},\"author\":{\"name\":\"Pascal Alma\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/person\\\/a4c0bb5bfa87eb00be92c7a1d293fecf\"},\"headline\":\"Using Maven Jetty plugin\",\"datePublished\":\"2013-03-20T14:00:59+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2013\\\/03\\\/using-maven-jetty-plugin.html\"},\"wordCount\":394,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2013\\\/03\\\/using-maven-jetty-plugin.html#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/apache-maven-logo.jpg\",\"keywords\":[\"Apache Maven\",\"Codehaus Jetty\"],\"articleSection\":[\"Enterprise Java\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.javacodegeeks.com\\\/2013\\\/03\\\/using-maven-jetty-plugin.html#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2013\\\/03\\\/using-maven-jetty-plugin.html\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2013\\\/03\\\/using-maven-jetty-plugin.html\",\"name\":\"Using Maven Jetty plugin\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2013\\\/03\\\/using-maven-jetty-plugin.html#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2013\\\/03\\\/using-maven-jetty-plugin.html#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/apache-maven-logo.jpg\",\"datePublished\":\"2013-03-20T14:00:59+00:00\",\"description\":\"Although I am using Maven since a long time I never used the Jetty plugin until recently. To be able to test a REST client I created a servlet which\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2013\\\/03\\\/using-maven-jetty-plugin.html#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.javacodegeeks.com\\\/2013\\\/03\\\/using-maven-jetty-plugin.html\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2013\\\/03\\\/using-maven-jetty-plugin.html#primaryimage\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/apache-maven-logo.jpg\",\"contentUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/apache-maven-logo.jpg\",\"width\":150,\"height\":150},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2013\\\/03\\\/using-maven-jetty-plugin.html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.javacodegeeks.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Java\",\"item\":\"https:\\\/\\\/www.javacodegeeks.com\\\/category\\\/java\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Enterprise Java\",\"item\":\"https:\\\/\\\/www.javacodegeeks.com\\\/category\\\/java\\\/enterprise-java\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Using Maven Jetty plugin\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#website\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/\",\"name\":\"Java Code Geeks\",\"description\":\"Java Developers Resource Center\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#organization\"},\"alternateName\":\"JCG\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.javacodegeeks.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#organization\",\"name\":\"Exelixis Media P.C.\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/exelixis-logo.png\",\"contentUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/exelixis-logo.png\",\"width\":864,\"height\":246,\"caption\":\"Exelixis Media P.C.\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/javacodegeeks\",\"https:\\\/\\\/x.com\\\/javacodegeeks\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/person\\\/a4c0bb5bfa87eb00be92c7a1d293fecf\",\"name\":\"Pascal Alma\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/53ba6f041ccc86b6efd6278d4bcffecc424dc8eeaca5593acab22ae19748f5cb?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/53ba6f041ccc86b6efd6278d4bcffecc424dc8eeaca5593acab22ae19748f5cb?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/53ba6f041ccc86b6efd6278d4bcffecc424dc8eeaca5593acab22ae19748f5cb?s=96&d=mm&r=g\",\"caption\":\"Pascal Alma\"},\"description\":\"Pascal is a senior JEE Developer and Architect at 4Synergy in The Netherlands. Pascal has been designing and building J2EE applications since 2001. He is particularly interested in Open Source toolstack (Mule, Spring Framework, JBoss) and technologies like Web Services, SOA and Cloud technologies. Specialties: JEE, SOA, Mule ESB, Maven, Cloud Technology, Amazon AWS.\",\"sameAs\":[\"http:\\\/\\\/pragmaticintegrator.wordpress.com\\\/\",\"http:\\\/\\\/www.linkedin.com\\\/in\\\/pascalalma\",\"https:\\\/\\\/x.com\\\/https:\\\/\\\/twitter.com\\\/paskal_1973\"],\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/author\\\/pascal-alma\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Using Maven Jetty plugin","description":"Although I am using Maven since a long time I never used the Jetty plugin until recently. To be able to test a REST client I created a servlet which","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.javacodegeeks.com\/2013\/03\/using-maven-jetty-plugin.html","og_locale":"en_US","og_type":"article","og_title":"Using Maven Jetty plugin","og_description":"Although I am using Maven since a long time I never used the Jetty plugin until recently. To be able to test a REST client I created a servlet which","og_url":"https:\/\/www.javacodegeeks.com\/2013\/03\/using-maven-jetty-plugin.html","og_site_name":"Java Code Geeks","article_publisher":"https:\/\/www.facebook.com\/javacodegeeks","article_published_time":"2013-03-20T14:00:59+00:00","og_image":[{"width":150,"height":150,"url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/apache-maven-logo.jpg","type":"image\/jpeg"}],"author":"Pascal Alma","twitter_card":"summary_large_image","twitter_creator":"@https:\/\/twitter.com\/paskal_1973","twitter_site":"@javacodegeeks","twitter_misc":{"Written by":"Pascal Alma","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.javacodegeeks.com\/2013\/03\/using-maven-jetty-plugin.html#article","isPartOf":{"@id":"https:\/\/www.javacodegeeks.com\/2013\/03\/using-maven-jetty-plugin.html"},"author":{"name":"Pascal Alma","@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/person\/a4c0bb5bfa87eb00be92c7a1d293fecf"},"headline":"Using Maven Jetty plugin","datePublished":"2013-03-20T14:00:59+00:00","mainEntityOfPage":{"@id":"https:\/\/www.javacodegeeks.com\/2013\/03\/using-maven-jetty-plugin.html"},"wordCount":394,"commentCount":1,"publisher":{"@id":"https:\/\/www.javacodegeeks.com\/#organization"},"image":{"@id":"https:\/\/www.javacodegeeks.com\/2013\/03\/using-maven-jetty-plugin.html#primaryimage"},"thumbnailUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/apache-maven-logo.jpg","keywords":["Apache Maven","Codehaus Jetty"],"articleSection":["Enterprise Java"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.javacodegeeks.com\/2013\/03\/using-maven-jetty-plugin.html#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.javacodegeeks.com\/2013\/03\/using-maven-jetty-plugin.html","url":"https:\/\/www.javacodegeeks.com\/2013\/03\/using-maven-jetty-plugin.html","name":"Using Maven Jetty plugin","isPartOf":{"@id":"https:\/\/www.javacodegeeks.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.javacodegeeks.com\/2013\/03\/using-maven-jetty-plugin.html#primaryimage"},"image":{"@id":"https:\/\/www.javacodegeeks.com\/2013\/03\/using-maven-jetty-plugin.html#primaryimage"},"thumbnailUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/apache-maven-logo.jpg","datePublished":"2013-03-20T14:00:59+00:00","description":"Although I am using Maven since a long time I never used the Jetty plugin until recently. To be able to test a REST client I created a servlet which","breadcrumb":{"@id":"https:\/\/www.javacodegeeks.com\/2013\/03\/using-maven-jetty-plugin.html#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.javacodegeeks.com\/2013\/03\/using-maven-jetty-plugin.html"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.javacodegeeks.com\/2013\/03\/using-maven-jetty-plugin.html#primaryimage","url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/apache-maven-logo.jpg","contentUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/apache-maven-logo.jpg","width":150,"height":150},{"@type":"BreadcrumbList","@id":"https:\/\/www.javacodegeeks.com\/2013\/03\/using-maven-jetty-plugin.html#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.javacodegeeks.com\/"},{"@type":"ListItem","position":2,"name":"Java","item":"https:\/\/www.javacodegeeks.com\/category\/java"},{"@type":"ListItem","position":3,"name":"Enterprise Java","item":"https:\/\/www.javacodegeeks.com\/category\/java\/enterprise-java"},{"@type":"ListItem","position":4,"name":"Using Maven Jetty plugin"}]},{"@type":"WebSite","@id":"https:\/\/www.javacodegeeks.com\/#website","url":"https:\/\/www.javacodegeeks.com\/","name":"Java Code Geeks","description":"Java Developers Resource Center","publisher":{"@id":"https:\/\/www.javacodegeeks.com\/#organization"},"alternateName":"JCG","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.javacodegeeks.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.javacodegeeks.com\/#organization","name":"Exelixis Media P.C.","url":"https:\/\/www.javacodegeeks.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","contentUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","width":864,"height":246,"caption":"Exelixis Media P.C."},"image":{"@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/javacodegeeks","https:\/\/x.com\/javacodegeeks"]},{"@type":"Person","@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/person\/a4c0bb5bfa87eb00be92c7a1d293fecf","name":"Pascal Alma","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/53ba6f041ccc86b6efd6278d4bcffecc424dc8eeaca5593acab22ae19748f5cb?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/53ba6f041ccc86b6efd6278d4bcffecc424dc8eeaca5593acab22ae19748f5cb?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/53ba6f041ccc86b6efd6278d4bcffecc424dc8eeaca5593acab22ae19748f5cb?s=96&d=mm&r=g","caption":"Pascal Alma"},"description":"Pascal is a senior JEE Developer and Architect at 4Synergy in The Netherlands. Pascal has been designing and building J2EE applications since 2001. He is particularly interested in Open Source toolstack (Mule, Spring Framework, JBoss) and technologies like Web Services, SOA and Cloud technologies. Specialties: JEE, SOA, Mule ESB, Maven, Cloud Technology, Amazon AWS.","sameAs":["http:\/\/pragmaticintegrator.wordpress.com\/","http:\/\/www.linkedin.com\/in\/pascalalma","https:\/\/x.com\/https:\/\/twitter.com\/paskal_1973"],"url":"https:\/\/www.javacodegeeks.com\/author\/pascal-alma"}]}},"_links":{"self":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/10068","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/users\/366"}],"replies":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/comments?post=10068"}],"version-history":[{"count":0,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/10068\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/media\/73"}],"wp:attachment":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/media?parent=10068"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/categories?post=10068"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/tags?post=10068"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}