Проблема вызвана файлом JAR, в файле MANIFEST.MF которого содержится значение атрибута Extension-List
, которое Tomcat не нравится. Tomcat ожидает, что значением этого атрибута будет список имен расширений, разделенных пробелами (см. Источник ManifestResource ), но, похоже, один из ваших JAR-файлов имеет список dom4j-core,jdom,xml-apis,xerces,junit
, разделенный запятыми. В этом списке нет пробелов, поэтому Tomcat считает, что это одно большое расширение.
Имена расширений также используются для префикса имен других атрибутов в манифесте. Например, вот часть правильного манифеста:
Extension-List: ant qdox commons-attributes-api javadoc
ant-Extension-Name: ant
ant-Implementation-Version: 1.5
ant-Implementation-URL: http://www.ibiblio.org/maven/ant/jars/ant-1.5.
jar
qdox-Extension-Name: qdox
qdox-Implementation-Version: 1.5
Имена атрибутов могут содержать только буквы, цифры, дефисы и подчеркивания, поэтому имена расширений также должны соответствовать тем же правилам. Имя расширения с запятой в нем явно недопустимо, и именно поэтому вы получаете исключение выше.
Я ознакомился с официальной спецификацией JAR-файла , но, похоже, это не указывает на то, как эти имена расширений следует разделять.
Я не могу сказать, какой JAR имеет этот атрибут Extension-List
через запятую в своем манифесте. Однако я бы сначала проверил файлы JAR в последних версиях XMLBeans и Saxon. Если ваш проект работал до обновления, вероятно, проблема была вызвана чем-то, что изменилось недавно.
Исправление, конечно, заключается в том, чтобы отредактировать файл манифеста, использующий ошибки, чтобы использовать пробелы вместо запятых в атрибуте Extension-List
.
Удачи!