На самом деле, это это алфавитный порядок! (Внутри определенного каталога, например, каталога 'lib', о котором упоминает оригинальный автор.)
Более конкретно, если вы посмотрите на источник для Tomcat 6, в классе FileDirContext
, метод list()
вызывает Arrays.sort()
для массива имен файлов найденных jar-файлов.
Я также проверял это вручную. Я создаю войну с JSP, которая вызывает HelloWorld.getGreeting()
, и помещаю два почти идентичных файла jar, содержащие несколько разные версии HelloWorld
, в каталог WEB-INF / lib. Один говорит «Привет, мир», другой - «Прощай, жестокий мир».
Если я назову версию «Hello, world» a.jar, а версию «goodbye» b.jar и перезапущу Tomcat, я получу текст «Hello». Если я назову банки в обратном направлении и перезапущу Tomcat, я получу текст «До свидания».
Насколько я смог определить, это поведение НЕ задокументировано, НЕ указано и НЕ НАДО полагаться. Но по алфавиту - пока.