Home:ALL Converter>Is it possible to replace JettyWebAppContext in Jetty executed by jetty:run (jetty-maven-plugin)

Is it possible to replace JettyWebAppContext in Jetty executed by jetty:run (jetty-maven-plugin)

Ask Time:2011-11-24T02:00:17         Author:dpolaczanski

Json Formatter

I'm using Jetty 7.2.2. I want to handle all requests with my own Handler (class: WebAppContextWithDispatcher). But when I start Jetty by executing goal jetty:run in jetty-maven-plugin, JettyWebAppContext is loaded as first ContextHandler. In that case JettyWebAppContext handles all request. I can change contextPath for my Handler, but I dont want to do it. Is it possible to replace default JettyWebAppContext ? Here you can see which handlers my jetty loads.

org.mortbay.jetty.plugin.JettyServer@823c6d STOPPED
 [email protected]:8080
 +-qtp22331476{8<=7<=8/254,1}
 +-org.eclipse.jetty.server.handler.HandlerCollection@a30fd started
    +-org.eclipse.jetty.server.handler.ContextHandlerCollection@11650d6 started
    |  +-o.m.j.p.JettyWebAppContext{/,file:/development/dpproj/svn/software/portal/org.dp.services.mock/src/main/webapp/},file:/development/dpproj/svn/software/portal/org.dp.services.mock/src/main/webapp/ started
    |  |  +-{org.eclipse.jetty.lifecyleCallbackCollection=org.eclipse.jetty.plus.annotation.LifeCycleCallbackCollection@b27c38, org.apache.catalina.jsp_classpath=/development/dpproj/svn/software/portal/org.dp.services.mock/target/classes:/development/dpproj/m2/repository/org/eclipse/jetty/jetty-server/7.2.2.v20101205/jetty-server-7.2.2.v20101205.jar:/development/dpproj/m2/repository/javax/servlet/servlet-api/2.5/servlet-api-2.5.jar:/development/dpproj/m2/repository/org/eclipse/jetty/jetty-continuation/7.2.2.v20101205/jetty-continuation-7.2.2.v20101205.jar:/development/dpproj/m2/repository/org/eclipse/jetty/jetty-http/7.2.2.v20101205/jetty-http-7.2.2.v20101205.jar:/development/dpproj/m2/repository/org/eclipse/jetty/jetty-io/7.2.2.v20101205/jetty-io-7.2.2.v20101205.jar:/development/dpproj/m2/repository/org/eclipse/jetty/jetty-webapp/7.2.2.v20101205/jetty-webapp-7.2.2.v20101205.jar:/development/dpproj/m2/repository/org/eclipse/jetty/jetty-xml/7.2.2.v20101205/jetty-xml-7.2.2.v20101205.jar:/development/dpproj/m2/repository/org/eclipse/jetty/jetty-util/7.2.2.v20101205/jetty-util-7.2.2.v20101205.jar:/development/dpproj/m2/repository/org/eclipse/jetty/jetty-servlet/7.2.2.v20101205/jetty-servlet-7.2.2.v20101205.jar:/development/dpproj/m2/repository/org/eclipse/jetty/jetty-security/7.2.2.v20101205/jetty-security-7.2.2.v20101205.jar:/development/dpproj/m2/repository/org/mortbay/jetty/jsp-2.1-jetty/6.1.16/jsp-2.1-jetty-6.1.16.jar:/development/dpproj/m2/repository/org/eclipse/jdt/core/3.1.1/core-3.1.1.jar:/development/dpproj/m2/repository/org/mortbay/jetty/jsp-api-2.1-glassfish/9.1.1.B51.25.p1/jsp-api-2.1-glassfish-9.1.1.B51.25.p1.jar:/development/dpproj/m2/repository/org/mortbay/jetty/servlet-api/2.5-20081211/servlet-api-2.5-20081211.jar:/development/dpproj/m2/repository/org/mortbay/jetty/jsp-2.1-glassfish/9.1.1.B51.25.p1/jsp-2.1-glassfish-9.1.1.B51.25.p1.jar:/development/dpproj/m2/repository/ant/ant/1.6.5/ant-1.6.5.jar, org.eclipse.jetty.runAsCollection=org.eclipse.jetty.plus.annotation.RunAsCollection@1f94a1f, org.eclipse.jetty.tmpdirConfigured=true, javax.servlet.context.tempdir=/development/dpproj/svn/software/portal/org.dp.services.mock/target/tmp, org.eclipse.jetty.injectionCollection=org.eclipse.jetty.plus.annotation.InjectionCollection@1713b42}
    |  |  +-{com.sun.jsp.tagFileJarUrlsCache={}, com.sun.jsp.taglibraryCache={}}
    |  |  +-org.eclipse.jetty.server.session.SessionHandler@fe89a started
    |  |     +-org.eclipse.jetty.security.ConstraintSecurityHandler@1ff0a34 started
    |  |        +-[]
    |  |        +-/={TRACE={RoleInfo,F,C[]}}
    |  |        +-org.eclipse.jetty.servlet.ServletHandler@6fdca5 started
    |  |           +-[/]=>default{resourceCache=resourceCache, maxCacheSize=256000000, dirAllowed=true, gzip=true, maxCachedFileSize=200000000, redirectWelcome=false, acceptRanges=true, welcomeServlets=false, aliases=false, useFileMappedBuffer=true, maxCachedFiles=2048}
    |  |           +-[*.jsp, *.jspf, *.jspx, *.xsp, *.JSP, *.JSPF, *.JSPX, *.XSP]=>jsp{logVerbosityLevel=DEBUG, fork=false, com.sun.appserv.jsp.classpath=/development/dpproj/m2/repository/org/mortbay/jetty/jetty-maven-plugin/7.2.2.v20101205/jetty-maven-plugin-7.2.2.v20101205.jar:/development/dpproj/svn/software/portal/org.dp.services.mock/target/classes:/development/dpproj/m2/repository/org/eclipse/jetty/jetty-server/7.2.2.v20101205/jetty-server-7.2.2.v20101205.jar:/development/dpproj/m2/repository/org/eclipse/jetty/jetty-continuation/7.2.2.v20101205/jetty-continuation-7.2.2.v20101205.jar:/development/dpproj/m2/repository/org/eclipse/jetty/jetty-http/7.2.2.v20101205/jetty-http-7.2.2.v20101205.jar:/development/dpproj/m2/repository/org/eclipse/jetty/jetty-io/7.2.2.v20101205/jetty-io-7.2.2.v20101205.jar:/development/dpproj/m2/repository/org/mortbay/jetty/jsp-2.1-jetty/6.1.16/jsp-2.1-jetty-6.1.16.jar:/development/dpproj/m2/repository/org/eclipse/jdt/core/3.1.1/core-3.1.1.jar:/development/dpproj/m2/repository/org/eclipse/jetty/jetty-webapp/7.2.2.v20101205/jetty-webapp-7.2.2.v20101205.jar:/development/dpproj/m2/repository/org/eclipse/jetty/jetty-xml/7.2.2.v20101205/jetty-xml-7.2.2.v20101205.jar:/development/dpproj/m2/repository/org/eclipse/jetty/jetty-util/7.2.2.v20101205/jetty-util-7.2.2.v20101205.jar:/development/dpproj/m2/repository/org/eclipse/jetty/jetty-servlet/7.2.2.v20101205/jetty-servlet-7.2.2.v20101205.jar:/development/dpproj/m2/repository/org/eclipse/jetty/jetty-security/7.2.2.v20101205/jetty-security-7.2.2.v20101205.jar:/development/dpproj/m2/repository/org/codehaus/plexus/plexus-utils/1.4.6/plexus-utils-1.4.6.jar:/development/dpproj/m2/repository/junit/junit/3.8.1/junit-3.8.1.jar:/development/dpproj/m2/repository/org/apache/maven/plugin-tools/maven-plugin-tools-api/2.5.1/maven-plugin-tools-api-2.5.1.jar:/development/dpproj/m2/repository/org/apache/maven/reporting/maven-reporting-api/2.0.6/maven-reporting-api-2.0.6.jar:/development/dpproj/m2/repository/org/apache/maven/doxia/doxia-sink-api/1.0-alpha-7/doxia-sink-api-1.0-alpha-7.jar:/development/dpproj/m2/repository/jtidy/jtidy/4aug2000r7-dev/jtidy-4aug2000r7-dev.jar:/development/dpproj/m2/repository/org/eclipse/jetty/jetty-plus/7.2.2.v20101205/jetty-plus-7.2.2.v20101205.jar:/development/dpproj/m2/repository/org/apache/geronimo/specs/geronimo-jta_1.1_spec/1.1.1/geronimo-jta_1.1_spec-1.1.1.jar:/development/dpproj/m2/repository/org/eclipse/jetty/jetty-jndi/7.2.2.v20101205/jetty-jndi-7.2.2.v20101205.jar:/development/dpproj/m2/repository/javax/mail/mail/1.4.1/mail-1.4.1.jar:/development/dpproj/m2/repository/org/eclipse/jetty/jetty-jmx/7.2.2.v20101205/jetty-jmx-7.2.2.v20101205.jar:/development/dpproj/m2/repository/org/mortbay/jetty/jsp-2.1-glassfish/2.1.v20100127/jsp-2.1-glassfish-2.1.v20100127.jar:/development/dpproj/m2/repository/org/eclipse/jdt/core/compiler/ecj/3.5.1/ecj-3.5.1.jar:/development/dpproj/m2/repository/org/mortbay/jetty/jsp-api-2.1-glassfish/2.1.v20100127/jsp-api-2.1-glassfish-2.1.v20100127.jar:/development/dpproj/m2/repository/ant/ant/1.6.5/ant-1.6.5.jar:/development/dpproj/m2/repository/org/eclipse/jetty/jetty-jsp-2.1/7.2.2.v20101205/jetty-jsp-2.1-7.2.2.v20101205.jar:/development/dpproj/m2/repository/org/eclipse/jetty/jetty-annotations/7.2.2.v20101205/jetty-annotations-7.2.2.v20101205.jar:/development/dpproj/m2/repository/org/apache/geronimo/specs/geronimo-annotation_1.0_spec/1.1.1/geronimo-annotation_1.0_spec-1.1.1.jar:/development/dpproj/m2/repository/asm/asm-commons/3.1/asm-commons-3.1.jar:/development/dpproj/m2/repository/asm/asm-tree/3.1/asm-tree-3.1.jar:/development/dpproj/m2/repository/asm/asm/3.1/asm-3.1.jar:/development/dpproj/m2/repository/org/eclipse/jetty/jetty-start/7.2.2.v20101205/jetty-start-7.2.2.v20101205.jar:/development/dpproj/m2/repository/org/eclipse/jetty/jetty-websocket/7.2.2.v20101205/jetty-websocket-7.2.2.v20101205.jar:/development/dpproj/m2/repository/javax/servlet/servlet-api/2.5/servlet-api-2.5.jar, xpoweredBy=false, scratchdir=/development/dpproj/svn/software/portal/org.dp.services.mock/target/tmp/jsp}
    |  +-d.z.c.s.m.h.WebAppContextWithDispather{/,file:/development/dpproj/svn/software/portal/org.dp.services.mock/src/main/webapp/} started
    |     +-{javax.servlet.context.tempdir=/tmp/jetty-0.0.0.0-8080-webapp-_-any-}
    |     +-{com.sun.jsp.tagFileJarUrlsCache={}, com.sun.jsp.taglibraryCache={}}
    |     +-org.eclipse.jetty.server.session.SessionHandler@12fcdf5 started
    |        +-org.eclipse.jetty.security.ConstraintSecurityHandler@1a05bdb started
    |           +-[]
    |           +-/={TRACE={RoleInfo,F,C[]}}
    |           +-org.eclipse.jetty.servlet.ServletHandler@17a906e started
    |              +-[/]=>default{resourceCache=resourceCache, maxCacheSize=256000000, dirAllowed=true, gzip=true, maxCachedFileSize=200000000, redirectWelcome=false, acceptRanges=true, welcomeServlets=false, aliases=false, useFileMappedBuffer=true, maxCachedFiles=2048}
    |              +-[*.jsp, *.jspf, *.jspx, *.xsp, *.JSP, *.JSPF, *.JSPX, *.XSP]=>jsp{logVerbosityLevel=DEBUG, fork=false, com.sun.appserv.jsp.classpath=/development/dpproj/m2/repository/org/mortbay/jetty/jetty-maven-plugin/7.2.2.v20101205/jetty-maven-plugin-7.2.2.v20101205.jar:/development/dpproj/svn/software/portal/org.dp.services.mock/target/classes:/development/dpproj/m2/repository/org/eclipse/jetty/jetty-server/7.2.2.v20101205/jetty-server-7.2.2.v20101205.jar:/development/dpproj/m2/repository/org/eclipse/jetty/jetty-continuation/7.2.2.v20101205/jetty-continuation-7.2.2.v20101205.jar:/development/dpproj/m2/repository/org/eclipse/jetty/jetty-http/7.2.2.v20101205/jetty-http-7.2.2.v20101205.jar:/development/dpproj/m2/repository/org/eclipse/jetty/jetty-io/7.2.2.v20101205/jetty-io-7.2.2.v20101205.jar:/development/dpproj/m2/repository/org/mortbay/jetty/jsp-2.1-jetty/6.1.16/jsp-2.1-jetty-6.1.16.jar:/development/dpproj/m2/repository/org/eclipse/jdt/core/3.1.1/core-3.1.1.jar:/development/dpproj/m2/repository/org/eclipse/jetty/jetty-webapp/7.2.2.v20101205/jetty-webapp-7.2.2.v20101205.jar:/development/dpproj/m2/repository/org/eclipse/jetty/jetty-xml/7.2.2.v20101205/jetty-xml-7.2.2.v20101205.jar:/development/dpproj/m2/repository/org/eclipse/jetty/jetty-util/7.2.2.v20101205/jetty-util-7.2.2.v20101205.jar:/development/dpproj/m2/repository/org/eclipse/jetty/jetty-servlet/7.2.2.v20101205/jetty-servlet-7.2.2.v20101205.jar:/development/dpproj/m2/repository/org/eclipse/jetty/jetty-security/7.2.2.v20101205/jetty-security-7.2.2.v20101205.jar:/development/dpproj/m2/repository/org/codehaus/plexus/plexus-utils/1.4.6/plexus-utils-1.4.6.jar:/development/dpproj/m2/repository/junit/junit/3.8.1/junit-3.8.1.jar:/development/dpproj/m2/repository/org/apache/maven/plugin-tools/maven-plugin-tools-api/2.5.1/maven-plugin-tools-api-2.5.1.jar:/development/dpproj/m2/repository/org/apache/maven/reporting/maven-reporting-api/2.0.6/maven-reporting-api-2.0.6.jar:/development/dpproj/m2/repository/org/apache/maven/doxia/doxia-sink-api/1.0-alpha-7/doxia-sink-api-1.0-alpha-7.jar:/development/dpproj/m2/repository/jtidy/jtidy/4aug2000r7-dev/jtidy-4aug2000r7-dev.jar:/development/dpproj/m2/repository/org/eclipse/jetty/jetty-plus/7.2.2.v20101205/jetty-plus-7.2.2.v20101205.jar:/development/dpproj/m2/repository/org/apache/geronimo/specs/geronimo-jta_1.1_spec/1.1.1/geronimo-jta_1.1_spec-1.1.1.jar:/development/dpproj/m2/repository/org/eclipse/jetty/jetty-jndi/7.2.2.v20101205/jetty-jndi-7.2.2.v20101205.jar:/development/dpproj/m2/repository/javax/mail/mail/1.4.1/mail-1.4.1.jar:/development/dpproj/m2/repository/org/eclipse/jetty/jetty-jmx/7.2.2.v20101205/jetty-jmx-7.2.2.v20101205.jar:/development/dpproj/m2/repository/org/mortbay/jetty/jsp-2.1-glassfish/2.1.v20100127/jsp-2.1-glassfish-2.1.v20100127.jar:/development/dpproj/m2/repository/org/eclipse/jdt/core/compiler/ecj/3.5.1/ecj-3.5.1.jar:/development/dpproj/m2/repository/org/mortbay/jetty/jsp-api-2.1-glassfish/2.1.v20100127/jsp-api-2.1-glassfish-2.1.v20100127.jar:/development/dpproj/m2/repository/ant/ant/1.6.5/ant-1.6.5.jar:/development/dpproj/m2/repository/org/eclipse/jetty/jetty-jsp-2.1/7.2.2.v20101205/jetty-jsp-2.1-7.2.2.v20101205.jar:/development/dpproj/m2/repository/org/eclipse/jetty/jetty-annotations/7.2.2.v20101205/jetty-annotations-7.2.2.v20101205.jar:/development/dpproj/m2/repository/org/apache/geronimo/specs/geronimo-annotation_1.0_spec/1.1.1/geronimo-annotation_1.0_spec-1.1.1.jar:/development/dpproj/m2/repository/asm/asm-commons/3.1/asm-commons-3.1.jar:/development/dpproj/m2/repository/asm/asm-tree/3.1/asm-tree-3.1.jar:/development/dpproj/m2/repository/asm/asm/3.1/asm-3.1.jar:/development/dpproj/m2/repository/org/eclipse/jetty/jetty-start/7.2.2.v20101205/jetty-start-7.2.2.v20101205.jar:/development/dpproj/m2/repository/org/eclipse/jetty/jetty-websocket/7.2.2.v20101205/jetty-websocket-7.2.2.v20101205.jar:/development/dpproj/m2/repository/javax/servlet/servlet-api/2.5/servlet-api-2.5.jar, xpoweredBy=false, scratchdir=/tmp/jetty-0.0.0.0-8080-webapp-_-any-/jsp}
    +-org.eclipse.jetty.server.handler.DefaultHandler@1532fc started
    +-org.eclipse.jetty.server.handler.RequestLogHandler@1c64ed8 started

Author:dpolaczanski,eproduced under the CC 4.0 BY-SA copyright license with a link to the original source and this disclaimer.
Link to original article:https://stackoverflow.com/questions/8246918/is-it-possible-to-replace-jettywebappcontext-in-jetty-executed-by-jettyrun-jet
yy