[GIS] How to set up geoserver with lattest jetty version ? Problem with geoserver web archive version

geoserverjettyUbuntu

Context : I was first using geoserver as a standalone (platform independent binary) version on Ubuntu.
Almost everything is fine. But the jetty version it is built on is really old (6.8.1) and deprecated according to the eclipse website (we are now at ver. 9 : http://download.eclipse.org/jetty/)

So I decided to remove this installation of geoserver, upgrading my java installation (from opendjdk-7 to openjdk-8), and installing latest jetty version.

Under the webapps/ directory of jetty, I have now extracted the latest stable geoserver web archive (2.8.1) (http://geoserver.org/release/stable/).

And again, everything is almost fine, except that when I shutdown jetty server, and start it again after some time, geoserver is just like it was the first time accessing it : I have to reset all passwords, parameters, layers, and so on…

Question : How do I make every changes on geoserver permanent just like it was with the standalone version?

Best Answer

As I have found the answer, I decide not to delete this thread but to post the solution here. It comes from : https://wiki.eclipse.org/Jetty_Expanded_Webapp_Deploy

Location Based Deployment

In a default Jetty installation, the directory $JETTY_HOME/webapps is scanned at startup for web applications to be deployed. So to deploy your web application simply place it in that directory.

Once the web application is detected it will be deployed in the following manner:

  • If the web application is a file named foo.war it will be deployed as a context with a context path of /foo
  • If the web application is a directory named foo/ will be deployed as a context with a context path of /foo. If the directory has a WEB-INF subdirectory, it will be treated as Servlet web application, otherwise it will be treated as a collection of static content.
  • If both a foo.war and a foo/ directory exists, then the one with the most recent last-modified date is used.

Note, if the web application file or directory is named root.war or root, respectively, it will be deployed with the context path /.