По меньшей мере один JAR был отсканирован для TLD, но не содержал TLD

Я продолжаю получать это на tomcat 7.30 (eclipse juno)

Как минимум один JAR был отсканирован для TLD, но не содержал TLD. включить отладочный журнал для этого регистратора для полного списка JAR, которые были сканированных, но в них не было обнаружено ни одного ДВУ. Пропуск ненужных JAR во время сканирование может улучшить время запуска и время компиляции JSP.

Ну, я пошел в conf\logging.properties и превратил все INFO в FINE и раскомментировал строку

# To see debug messages in TldLocationsCache, uncomment the following line:
org.apache.jasper.compiler.TldLocationsCache.level = FINE

И я все еще вижу At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging...

Итак, что мне делать, чтобы увидеть эти банки?

Расположение журналов:

Журналы tomcat находятся в $CATALINA_HOME\logs\catalina.yyyy-mm-dd.log. Eclipse печатает их в консоли - если вы хотите, чтобы ваша консоль зарегистрировалась вы должны

На вкладке "Серверы" дважды щелкните сервер Tomcat. Вы получите экран "Обзор". Нажмите "Открыть конфигурацию запуска". Нажмите на вкладку "Общие". В нижней части экрана вы можете проверить "Файл", а затем укажите файл, который можно использовать для регистрации вашего console (catalina.out). Наконец, перезапустите сервер Tomcat.

Ответ 1

Если вы хотите, чтобы conf\logging.properties читал нужно (см. также здесь), выгрузите этот файл в папку Servers\Tomcat v7.0 Server at localhost-config\, а затем добавьте строки:

-Djava.util.logging.config.file = "$ {workspace_loc}\Серверы\Tomcat v7.0 Сервер в localhost-config\logging.properties" -Djava.util.logging.manager = org.apache.juli.ClassLoaderLogManager

к аргументам VM конфигурации запуска , которую использует.

Это может быть перезапуск или два (или нет), но, наконец, я увидел на консоли ярко-красный:

FINE: файлы TLD не найдены в файле [файл:/C:/Dropbox/eclipse_workspaces/javaEE/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/ted2012/WEB-INF/Library/Logback-классический 1.0.7.jar]. Подумайте о добавлении JAR в файл tomcat.util.scan.DefaultJarScanner.jarsToSkip или org.apache.catalina.startup.TldConfig.jarsToSkip в файле CATALINA_BASE/conf/catalina.properties.//и т.д.

Я все еще не знаю, когда появляется это предупреждение FINE - не появляется сразу при запуске tomcat EDIT: из комментария @Stephan: "Предупреждение FINE появляется каждый раз, когда все изменения выполняются в файле JSP".


Бонус: Чтобы уведомить предупреждение, добавьте catalina.properties:

# Additional JARs (over and above the default JARs listed above) to skip when
# scanning for TLDs. The list must be a comma separated list of JAR file names.
org.apache.catalina.startup.TldConfig.jarsToSkip=logback-classic-1.0.7.jar,\
joda-time-2.1.jar,joda-time-2.1-javadoc.jar,mysql-connector-java-5.1.24-bin.jar,\
logback-core-1.0.7.jar,javax.servlet.jsp.jstl-api-1.2.1.jar

Ответ 2

(tomcat 8.0.28) Выше метод не работал у меня. Вот что сработало:

  • Добавьте эту строку в конец вашего {CATALINA-HOME}/conf/logging.properties:

    org.apache.jasper.level = FINEST
    
  • Выключите сервер (если он запущен).

  • Откройте консоль и запустите (в случае Windows):

    %CATALINA_HOME%\bin\catalina.bat run
    
  • Наслаждайтесь журналами, например. (опять же для Windows):

    {CATALINA-HOME}/logs/catalina.2015-12-28.log
    

Я отказался от интеграции с конфигурацией запуска Eclipse, поэтому имейте в виду, что это работает только с консоли, запуск сервера из Eclipse не приведет к появлению дополнительных сообщений журнала.

Ответ 3

апач-кот-8.0.33

Если вы хотите включить ведение журнала отладки в tomcat для проверенных банками TLD, вам необходимо изменить файл /conf/logging.properties в каталоге tomcat.

раскомментировать строку:
org.apache.jasper.servlet.TldScanner.level = FINE

Уровень FINE предназначен для журнала отладки.

Это должно работать для нормального tomcat.

Если tomcat работает под затмением. Затем вы должны установить путь к tomcat logging.properties в eclipse.

  • Откройте серверы в eclipse.Stop server.Double нажмите на ваш сервер tomcat.
    Это откроет окно Обзор для сервера.
  • Нажмите Открыть конфигурацию запуска. Это откроет другое окно.
  • Перейдите на вкладку Аргументы (вторая вкладка). Перейдите в раздел Аргументы VM.
  • вставьте эту две строки там: -
    -Djava.util.logging.config.file = "{CATALINA_HOME}\conf\logging.properties"
    -Djava.util.logging.manager = org.apache.juli.ClassLoaderLogManager
    Здесь CATALINA_HOME соответствует вашему каталогу сервера tomcat на вашем ПК.
  • Сохранить изменения. Перезагрузите сервер.

Теперь файлы jar, которые сканируются для TLD, должны отображаться в журнале.

Ответ 4

(tomcat 7.0.32) У меня возникли проблемы с отображением отладочных сообщений, хотя он включал строку TldLocationsCache в файле tomcat/conf/logging.properties. Все, что я мог видеть, это предупреждение, но не то, что были проверены. Измененный каждый loglevel попробовал все без везения. Затем я пошел в режим отладки изгоев (= удаляю один за другим, чистую установку и т.д.) И, наконец, нашел причину.

У моего webapp был настроенный файл tomcat/webapps/mywebapp/WEB-INF/classes/logging.properties. Я скопировал строку TldLocationsCache в этот файл, наконец, я смог увидеть имена файлов jars.

# Чтобы увидеть отладочные сообщения в TldLocationsCache, раскомментируйте следующую строку:  org.apache.jasper.compiler.TldLocationsCache.level = FINE

Ответ 5

Для тех, кто пытается получить эту работу, используя Sysdeo Eclipse Tomcat plugin, попробуйте выполнить следующие шаги (я использовал Sysdeo Tomcat Plugin 3.3.0, Eclipse Kepler и Tomcat 7.0.53 для создания этих шагов):

  • Окно → Настройки → Разверните Tomcat node в дереве → Настройки JVM
  • В разделе "Добавить в параметры JVM" нажмите кнопку "Добавить".
  • В всплывающем окне "New Tomcat JVM parameter" введите -Djava.util.logging.config.file="{TOMCAT_HOME}\conf\logging.properties", где {TOMCAT_HOME} - это путь к вашему каталогу Tomcat (пример: C:\Tomcat\apache-tomcat-7.0.53\conf\logging.properties). Нажмите "ОК" .
  • В разделе "Добавить в параметры JVM" нажмите кнопку "Добавить" еще раз.
  • В всплывающем окне "New Tomcat JVM parameter" введите -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager. Нажмите "ОК" .
  • Нажмите "ОК" в окне "Настройки".
  • Внесите корректировки в файл {TOMCAT_HOME}\conf\logging.properties, как указано в вопросе выше.
  • При следующем запуске Tomcat в Eclipse вы должны увидеть отсканированные .jars, перечисленные в консоли Eclipse, вместо сообщения "Enable debug logging for this logger". Информация также должна быть зарегистрирована в {TOMCAT_HOME}\logs\catalina.yyyy-mm-dd.log.

Ответ 6

Для меня возникла проблема при развертывании geoserver WAR в tomcat 7

Чтобы исправить это, я был на Java 7 и обновлялся до Java 8.

Это работает под контейнером докера. Tomcat 7.0.75 + Java 8 + Geos 2.10.2