How to fix JAVAX runtime error on JDK11 Tomcat9 Spring Application

This issue came down to Docker Desktop (Windows) interfering with Tomcat and specifically Tomcat's admin port 8006, which forced me to change the port number to allow Tomcat to launch (from 8006 to 8007 for example). I had an old Tomcat container at one point in time, and this may have been fired up when my computer started via Docker Desktop without me realizing it.

Steps completed to fix the issue assuming your pom.xml has the necessary dependencies.

  1. Stop Docker Desktop
  2. Use the latest JDK11 build and update JAVA_HOME as needed
  3. Restore default Tomcat admin server port to 8006
  4. Republish/Restart the Tomcat server

I think in most cases this issue will be resolved as explained here from updating the pom.xml with the needed dependencies. In my case it was entirely environmental and for some reason Docker Desktop prevented Tomcat from accessing the jaws-api-2.3.1.jar file at runtime. Tomcat's inability to access this .jar file was confirmed via my 'Update 2' in the question above.

My pom.xml ended up only needing the following items: enter image description here