I am working with a legacy project which includes jetty-6.1.9.jar, jsp-2.1.jar, jsp-api-2.1.jar, servlet-api-2.5-6.1.9.jar and is run under JRE 1.7.0_03.
Jetty server is started inside MyServer.java's main method. It creates a WebAppContext and calls WebAppContext.setWar($webAppRoot) where $webAppRoot is a full path to a directory under which is the usual WEB-INF structure.
All of the app classes and dependent JARs are specified on the classpath which invokes MyServer.main, there are no JARs in WEB-INF/lib and no classes in WEB-INF/class (yes I know that's messed up). The html, javascript, css and JSP files live in $webAppRoot.
The Jetty doc talking about JSP2.1 support indicates that ant-1.6.5 is a required dependency. This project does not include ant yet the JSPs are compiled and work when you hit them.
When I move the application class files into WEB-INF/classes and their dependent JARs into WEB-INF/lib Jetty throws a class not found error saying it can't find an ANT related class when I hit one of the JSPs. Why do the JSPs compile without ANT in the original configuration but when I move things into WEB-INF ANT becomes required?