ClassNotFoundException: org.apache.logging.log4j.Logger с Tomcat10 и ДжакартойJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 ClassNotFoundException: org.apache.logging.log4j.Logger с Tomcat10 и Джакартой

Сообщение Anonymous »

У меня есть веб-сервлет (6.0), работающий на Tomcat 10.1 в Eclipse и Java 11, который я только что перенес в Джакарту. Во время компиляции все в порядке, но во время выполнения Tomcat продолжает выдавать следующую ошибку:

Код: Выделить всё

java.lang.IllegalStateException: Error starting child
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:686)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:658)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:713)
... 37 more
Caused by: java.lang.NoClassDefFoundError: Lorg/apache/logging/log4j/Logger;
at java.base/java.lang.Class.getDeclaredFields0(Native Method)
at java.base/java.lang.Class.privateGetDeclaredFields(Class.java:3061)
... 38 more
Caused by: java.lang.ClassNotFoundException: org.apache.logging.log4j.Logger
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1437)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1245)
... 51 more
Я использовал различные подходы к stackoverflow, но безрезультатно.
У меня есть следующие зависимости в моем файле build.gradle :

Код: Выделить всё

plugins {
id 'eclipse'
id 'eclipse-wtp'
id 'war'
id 'application'
}

dependencies {

compileOnly group: 'jakarta.servlet', name: 'jakarta.servlet-api', version: '6.1.0'

implementation 'org.glassfish.jersey.core:jersey-server:3.1.7'
implementation 'org.glassfish.jersey.media:jersey-media-json-jackson:3.1.7'
implementation 'org.glassfish.jersey.containers:jersey-container-servlet:3.1.7'
implementation group: 'org.glassfish.jersey.inject', name: 'jersey-hk2', version: '3.1.7'
implementation group: 'org.apache.commons', name: 'commons-lang3', version: '3.14.0'

implementation group: 'jakarta.ws.rs', name: 'jakarta.ws.rs-api', version: '4.0.0'

implementation 'org.apache.logging.log4j:log4j-api:2.23.1'
implementation 'org.apache.logging.log4j:log4j-core:2.23.1'
implementation group: 'org.apache.logging.log4j', name: 'log4j-jakarta-web', version: '2.23.1'

implementation "net.bull.javamelody:javamelody-core2129.0"
}
Я также пытался добавить зависимости SLF4J2, как предложено в этом ответе, но это тоже не помогло:

Код: Выделить всё

implementation group: 'org.slf4j', name: 'slf4j-api', version: '2.0.13'
implementation group: 'org.apache.logging.log4j', name: 'log4j-slf4j2-impl', version: '2.23.1'
implementation group: 'org.slf4j', name: 'slf4j-reload4j', version: '2.0.13'
Я попытался добавить путь к файлу конфигурации log4j2.xml в context.xml, как предложено в этом ответе, также безуспешно: Кроме того, я
  • перезапустил сервер Tomcat
  • почистил работу каталог
  • проверил, что в моем пути к классам нет старых JAR-файлов, конфликтующих с gradle.
Что можно Должен ли я продолжить расследование или решить эту проблему?

Подробнее здесь: https://stackoverflow.com/questions/786 ... and-jakart
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»