Это правда, что Tomcat не предоставляет никакого способа обеспечения порядка развертывания.
* Tomcat развертывает веб-приложения в следующем порядке: *
1. Сначала будут развернуты любые дескрипторы контекста.
2После этого будут развернуты взорванные веб-приложения, на которые не ссылается ни один дескриптор контекста.Если у них есть связанный файл .WAR в appBase, и он новее, чем разнесенное веб-приложение, разорванный каталог будет удален, а веб-приложение будет повторно развернуто из файлов .WAR
3.WAR будут развернуты
> Вот предлагаемое решение:
Если вы хотите указать порядок развертывания, определите контекст для своего веб-приложения в $ CATALINA_BASE / conf /[enginename] / [hostname] /MyApp.xml
Tomcat сканирует $ CATALINA_BASE / conf / [enginename] / [hostname] /, выполняя File listFiles (), который возвращает массив файлов, отсортированный по значению хеша (зависит от ОС)).
Вы можете использовать следующий код для проверки порядка развертывания веб-приложений
File file = new File("/opt/tomcat/conf/Catalina/localhost");
File[] files = file.listFiles();
for (File f : files)
{
System.out.println("Filename: " + f.getName());
}