Directory “/ODKAggregate” not recognized by Tomcat

Goal: To install and run ODK Aggregate on Windows 10 machine.

Status: Java, JDK, MySQL, And Apache Tomcat installed and operating correctly.

The web server operates normally, serving html and image files, and operates JSP scripts in the examples folders and in the server admin and monitoring sections.

When ODKAggregate.war was added to the /webapps folder, the /ODKAggregate folder was created automatically (server running). However, any attempt to:

http://localhost:8080/ODKAggregate or

http://localhost:8080/ODKAggregate/index.html (or any other file of any type)

would result in "HTTP Status 404 – Not Found" with following details:

Type Status Report

Message /ODKAggregate/Aggregate.html

Description The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.

Apache Tomcat/8.5.27

Hiding or renaming the file webapps/ODKAggregate/WEB-INF/web.xml makes Tomcat recognize the directory /ODKAggregate and serve static files therein (e.g., html pages and images), yet ODK Aggregate is not functional.

Advice much appreciated.

Hi @Khalid

I'm not 100% sure but as I know Aggregate .war file needs to be deployed to the webapps/ROOT folder not only webapps. But then the war file is not automatically extracted so you probably need to do that manually.

Please check it out and let me know.


Hi @Khalid

Have you checked to make sure the ODKAggregate app is running from the Tomcat Manager App?
http://localhost:8080 then go to Manager app, after you login, just check to make sure the ODKAggregate app is running. If its stopped start it.

Hi @Khalid,

One of the issues we ran into in setting up our server was specifying the port. It looks like you are using 8080. The Tomcat install instructions note:

"If using the Windows installer, change to use port 80 for the HTTP/1.1 port. If you are going to set up an SSL certificate, change the HTTPS/1.1 port to 443. Use all other defaults.
Verify that Tomcat 8 is running by opening a browser on this server to http://localhost/ You should see the Apache Tomcat administration page. If you didn't request port 80 during the install, you will need to specify the port you chose (http://localhost:port/). If you didn't configure a port, the default port is 8080 (and 8443 for HTTPS)."

We had to change the port to 80 at one point in our install before it would work. Hope that helps!