How to deploy my web application to jetty9 as root

2019-03-26 03:31发布

问题:

When I use jetty6, I use the following:

<Configure class="org.mortbay.jetty.webapp.WebAppContext">


  <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
  <!-- Required minimal context configuration :                        -->
  <!--  + contextPath                                                  -->
  <!--  + war OR resourceBase                                          -->
  <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
  <Set name="contextPath">/</Set>
  <Set name="resourceBase"><SystemProperty name="jetty.home" default="."/>/webapps/myapp</Set>

</Configure>

this file located in folder contexts,named myapp.xml

But switch to jetty 9, first there is no such folder "contexts", and I put myapp.xml into webapps just like test.xml, restart jetty and navigate to http://localhost:8080, the page remain the default one, not my application.

Can anybody give me a hint?

回答1:

In Jetty 6, if you had

${jetty.home}/contexts/myapp.xml

With Jetty 9.0, move it to

${jetty.home}/webapps/myapp.xml

With Jetty 9.1+, move it to

${jetty.base}/webapps/myapp.xml

Make sure the exploded webapp directory is the same name as your xml file to prevent double deployment.

You also need to change your Context XML File for Jetty 9.

<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN"
          "http://www.eclipse.org/jetty/configure_9_0.dtd">
<Configure class="org.eclipse.jetty.webapp.WebAppContext">
  <Set name="contextPath">/</Set>
  <Set name="war"><Property name="jetty.home" default="." />/webapps/myapp</Set>
</Configure>  

Or alternatively, just name your exploded webapp directory

${jetty.home}/webapps/ROOT

Documentation found:

http://www.eclipse.org/jetty/documentation/current/configuring-deployment.html

Updated for Jetty 9.1



回答2:

You can use the specially named /root or root.war. See this link .



标签: Jetty