Ответ 1
Для Tomcat 8 мне пришлось добавить следующую строку в tomcat/conf/logging.properties
для банок, проверенных Tomcat, для отображения в журналах:
org.apache.jasper.servlet.TldScanner.level = FINE
При запуске приложения или компиляции JSP через ant Tomcat 7 Jasper жалуется на избыточный или неулокальный JAR файл. Я получил сообщение
**compile-jsp:**
[jasper] Jul 31, 2012 7:15:15 PM org.apache.jasper.compiler.TldLocationsCache tldScanJar
[jasper] INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
Как пропустить ненужные JAR во время сканирования может улучшить время запуска и время компиляции JSP в tomcat?
как включить лучший вывод?
Для Tomcat 8 мне пришлось добавить следующую строку в tomcat/conf/logging.properties
для банок, проверенных Tomcat, для отображения в журналах:
org.apache.jasper.servlet.TldScanner.level = FINE
Tomcat 8.5. Внутри catalina.properties, расположенный в каталоге /conf:
tomcat.util.scan.StandardJarScanFilter.jarsToSkip=\*.jar
Или перейдите в context.xml, расположенный в каталоге Tomcat/conf и добавьте:
<JarScanner scanClassPath="false"/>
Вышеупомянутое решение не сработало для меня. Вместо этого я просто удалил хэш (#) из последней строки файла logging.properties, чтобы он работал.
# To see debug messages in TldLocationsCache, uncomment the following line:
org.apache.jasper.compiler.TldLocationsCache.level = FINE
Следующий шаг - добавить банки, которые Tomcat 7 ищет в файлах catalina.properties сразу после следующей строки
org.apache.catalina.startup.TldConfig.jarsToSkip=
Если это кому-то помогает, я просто добавил содержимое нижележащего выходного файла в существующую запись org.apache.catalina.startup.TldConfig.jarsToSkip=
.
Обратите внимание, что /var/log/tomcat7/catalina.out
- это местоположение вашего журнала tomcat.
egrep "No TLD files were found in \[file:[^\]+\]" /var/log/tomcat7/catalina.out -o | egrep "[^]/]+.jar" -o | sort | uniq | sed -e 's/.jar/.jar,\\/g' > skips.txt
Надеюсь, что это поможет.
Для Tomcat 8 мне пришлось добавить следующую строку к каталинам .properties для предотвращения сканирования банками Tomcat:
tomcat.util.scan.StandardJarScanFilter.jarsToSkip=jsp-api.jar,servlet-api.jar
Раскомментируйте эту строку (в /conf/logging.properties
)
org.apache.jasper.compiler.TldLocationsCache.level = FINE
Работайте со мной в tomcat 7.0.53!
Ни один из вышеперечисленных не работал у меня (tomcat 7.0.62)... Поскольку заметки Sensei_Shoh видят класс над сообщением и добавляют его к logging.properties. Мои журналы:
Jan 18, 2016 8:44:21 PM org.apache.catalina.startup.TldConfig execute
INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
поэтому я добавил
org.apache.catalina.startup.TldConfig.level = FINE
в conf/logging.properties
После этого у меня появилось так много "оскорбительных" файлов, что я не стал их пропускать (а также вернулся к обычному протоколированию...)
В сообщении об ошибке указано, какой регистратор он использует, поэтому установите этот журнал .level
:
[jasper] Jul 31, 2012 7:15:15 PM org.apache.jasper.compiler.TldLocationsCache tldScanJar
Итак, регистратор org.apache.jasper.compiler.TldLocationsCache
. В файле logging.properties
добавьте следующую строку:
org.apache.jasper.compiler.TldLocationsCache.level = FINE
Предупреждение появляется, потому что Tomcat просматривает все Jars для TLD (определение тегов меток).
Шаг1. Чтобы узнать, какие JAR-серверы выбрасывают это предупреждение, вставьте его в следующую строку: tomcat/conf/logging.properties
org.apache.jasper.servlet.TldScanner.level = FINE
Теперь вы должны быть в состоянии видеть предупреждения с деталями, из которых JARs вызывают внутреннее предупреждение
Шаг 2. Поскольку пропуски ненужных JAR во время сканирования могут улучшить время запуска и время компиляции JSP, мы пропустим ненужные JARS в файле catalina.properties
. Здесь у вас есть два варианта -
tomcat.util.scan.StandardJarScanFilter.jarsToSkip
. Но это может стать громоздким, если у вас много кувшинов или если банки продолжают меняться.tomcat.util.scan.StandardJarScanFilter.jarsToSkip=*
, чтобы пропустить все банкиТеперь вы не должны видеть вышеупомянутые предупреждения, и если у вас есть значительное приложение, это должно сэкономить вам значительное время на развертывание приложения.
Примечание. Протестировано в Tomcat8