ERDDAP / erddap

ERDDAP is a scientific data server that gives users a simple, consistent way to download subsets of gridded and tabular scientific datasets in common file formats and make graphs and maps. ERDDAP is a Free and Open Source (Apache and Apache-like) Java Servlet from NOAA NMFS SWFSC Environmental Research Division (ERD).
Creative Commons Zero v1.0 Universal
76 stars 54 forks source link

Add support for running ERDDAP in Jetty for local development #147

Closed mwengren closed 2 months ago

mwengren commented 2 months ago

Description

This PR simplifies the process to run ERDDAP in development mode using Maven and the Jetty Servlet Container, eliminating the need to configure Tomcat to develop and test ERDDAP code. These changes lessen both the start up time for new developers interested in working with the ERDDAP code base to get ERDDAP running on their local machines, as well as the amount of time required to test/preview changes made to the ERDDAP code while developing.

All changes are only to Maven's pom.xml to configure the Jetty Maven plugin and to make minor updates to aspects of the ERDDAP Maven build. No Java code changes are necessary.

Overview of steps to run ERDDAP via Maven/Jetty for local development:

Compile ERDDAP source code and create an 'exploded WAR' directory to serve ERDDAP:

mvn compile
mvn war:exploded

Run ERDDAP in Jetty

MAVEN_OPTS="-Xms4096m -Xmx4096m" mvn jetty:run -DerddapContentDirectory=content/erddap

Access ERDDAP at: http://localhost:8080/erddap.

This PR also includes a README file with more details and documentation on working with ERDDAP in Jetty in the ./development/jetty directory.

Small changes and fixes to the existing Docker-based development build are made, including moving files to the ./development/docker directory for differentiation.

Type of change

Please delete options that are not relevant.

Checklist before requesting a review

mwengren commented 2 months ago

@ChrisJohnNOAA I think this PR is ready for review at this point. I've tested locally several times and ERDDAP is running very well in Jetty with all the recommended changes.

I hope this will benefit new developers looking to contribute to ERDDAP development get up and running quickly!