Это правда, что 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());
}
Именование дескриптора развертывания решит вашу проблему.