In org.apache.jasper.JsjC class the method "scanFilesInternal" use "context.getResourcePaths(input)" method to retrieve all resources available in "input" folder. but all the paths returned by this method start with the value contains in "input" variable. Then, scanFilesInternal iterate other all paths returned and call scanFilesInternal again (recursivity) for each of then. But, the value contains in "input" variable is concatenate with the current path (which already start with the value contains in "input"). So, the first part of the path is duplicated. example: private void scanFilesInternal(String input) { <= input = /jsp/ Set<String> paths = context.getResourcePaths(input); <= paths [/jsp/home/,/jsp/actu/..] ... scanFilesInternal(input.substring(0, input.length() -1) + path); => scanFilesInternal("/jsp"+"/jsp/home/")<= /jsp/ appears twice!! }
Although the duplicate description is different, I believe these issues are the same. Please re-test with a build of the latest code from svn. If it helps, I can provide you with a pre-built tar.gz (Linux) or .zip (Windows) for testing. *** This bug has been marked as a duplicate of bug 63056 ***
If you can provide me a pre-build for linux, I can re-test and confirm bug duplication.
This is an entirely untested build of the latest svn source. Use it at your own risk. http://people.apache.org/~markt/dev/v9.0.15-dev/
bug fixed, thanks