Когда я пытаюсь развернуть свой файл war, я получаю сообщение об ошибке в catalina.out:
org.apache.tomcat.util.scan.StandardJarScanner.processURLs Failed to scan [file:/tomcat/lib/webservices-api.jar] from classloader hierarchy
java.io.FileNotFoundException: //tomcat/lib/webservices-api.jar (No such file or directory)
...................
org.apache.tomcat.util.scan.StandardJarScanner.processURLs Failed to scan [file:/tomcat/lib/webservices-api.jar] from classloader hierarchy
java.io.FileNotFoundException: /tomcat/lib/webservices-rt_l10n.jar (No such file or directory)
Но у меня есть webservices-api.jar В папке lib:
ls -l / tomcat / lib /:
//some libs
-rw-rw-r--+ 1 root root 14830691 19 2017 webservices-rt-2.3.jar
-rw-r--r-- 1 tomcat tomcat 201290 апр 19 18:24 webservices-api-2.3.jar
Как я могу сказать tomсat, что он игнорирует версии и использует то, что есть?
Также как отключить поиск языковых библиотек?
Обновлять:
Трассировки стека:
23-Apr-2018 14:16:59.481 WARNING [http-nio-8080-exec-46] org.apache.tomcat.util.scan.StandardJarScanner.processURLs Failed to scan [file:/tomcat/lib/webservices-api.jar] from classloader hierarchy
java.io.FileNotFoundException: /tomcat/lib/webservices-api.jar (No such file or directory)
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.<init>(ZipFile.java:219)
at java.util.zip.ZipFile.<init>(ZipFile.java:149)
at java.util.jar.JarFile.<init>(JarFile.java:166)
at java.util.jar.JarFile.<init>(JarFile.java:130)
at org.apache.tomcat.util.compat.JreCompat.jarFileNewInstance(JreCompat.java:170)
at org.apache.tomcat.util.scan.JarFileUrlJar.<init>(JarFileUrlJar.java:65)
Во-первых, опубликуйте всю трассировку стека. Во-вторых, действительно ли вы пытаетесь использовать какие-либо веб-службы на основе Java?
@rmlan, нет, мой pom.xml не содержит этих библиотек
@ChristopherSchultz, я добавил stacktrace
Можете ли вы добавить список каталогов вашего каталога WEB-INF / lib в свою войну?
Файл /tomcat/lib/webservices-api.jar существует? Может ли пользователь Tomcat прочитать этот файл и получить доступ (r+x) ко всем каталогам от корня файловой системы до этого файла?
@ChristopherSchultz, /tomcat/lib/webservices-api.jar exist -rw-r - r-- 1 tomcat tomcat 201290 19 апр, 18:24 webservices-api-2.3.jar. Tomcat имеет права доступа r + w root к этому файлу
Возможный дубликат Обновление с Tomcat 8.0.39 до 8.0.41 приводит к ошибке "не удалось сканировать"




webservices-rt-xxx.jar содержит реализацию данной спецификации webservices-api.jar. Они не одинаковы!
Таким образом, вы также должны включить вторую банку в папку lib.
Tomcat на другом сервере работает корректно, если есть только webservices-api-2.3.jar. Подозреваю, дело в конкретных настройках
@All_Safe В своем вопросе вы упомянули webservices-rt-2.3.jar, а не webservices-api-2.3.jar. Посмотрите, что возвращает ls -l /tomcat/lib/
C.Шампанское. Извини, я ошибся. webservices-api-2.3. файл также находится в папке
В Tomcat 8.0.38 и более поздних версиях у нас есть один флаг, называемый scanManifest, для сканирования дополнительных записей пути к классам из MANIFEST.MF файлов jar. По умолчанию установлено значение true, т.е. сканировать манифест jar-файлов. Проверьте, есть ли у вас какой-либо jar с записью CLASS-PATH в MANIEST.MF, ссылающейся на этот файл jar. У меня аналогичная проблема
May 07, 2019 11:33:21 AM org.apache.tomcat.util.scan.StandardJarScanner processURLs
WARNING: Failed to scan [file:/C:/apache-tomcat-9.0.8/lib/jaxws-api.jar] from classloader hierarchy
java.io.FileNotFoundException: C:\apache-tomcat-9.0.8\lib\jaxws-api.jar (The system cannot find the file specified)
Обратил внимание на один из моих jar-файлов jaxws-rt-2.1.3 с jaxws-api.jar в качестве записи пути к классу. У меня есть jaxws-api-2.1.jar в моей библиотеке, поэтому jarscanner пожаловался, что файл не найден, поскольку он пытается найти его без имени версии.
** Добавление следующей записи в context.xml в TOMCAT_HOME / conf должно решить эту проблему, так как это остановит разрешение несуществующих файлов jar **
<JarScanner scanManifest = "false"/>
мы также можем исправить файл манифеста, чтобы включить версию jar, а затем развернуть приложение
добавление <JarScanner scanManifest = "false" /> в context.xml помогло. Большое спасибо!
Вы, вероятно, упаковываете фляги на своей войне, чего вам не следует делать.