Is there a bug on line 259 of HttpServer:
https://github.com/apache/hadoop-common/blob/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/http/HttpServer.java
webAppContext.setWar(appDir + "/" + name);
I believe this should be:
webAppContext.setWar(appDir + "/" + name + "/");
As in jetty's JarResource class it will not recognise the sub-entry in a
jar as a directory if it doesn't have a trailing slash. As a result, it
extracts the files into the subdirectory and then Jetty doesn't find them.