ClassNotFoundException: org.apache.log4j.Priority при использовании API Filenet.JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 ClassNotFoundException: org.apache.log4j.Priority при использовании API Filenet.

Сообщение Anonymous »

Я использую Spring Boot 2.7.2 для создания API для отдыха, который взаимодействует с Filenet Content Engine с помощью API-интерфейсов Filenet и моего файла pom следующим образом:

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

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0

org.springframework.boot
spring-boot-starter-parent
2.7.2
  

com.test
storage
0.0.1
storage
Storage API

11




org.springframework.boot
spring-boot-starter-web



org.springdoc
springdoc-openapi-ui
1.6.9



org.projectlombok
lombok
true



org.springframework.boot
spring-boot-starter-test
test





Jace
Jace
5.2.1



stax-api
stax-api
5.2.1



xlxpScanner
xlxpScanner
5.2.1



xlxpScannerUtils
xlxpScannerUtils
5.2.1





commons-io
commons-io
2.11.0










org.springframework.boot
spring-boot-maven-plugin



org.projectlombok
lombok










MCI-maven
http://myhost/repository/maven-public/





Проект компилируется и запускается нормально, но при попытке выполнить любой API файловой сети я получаю ошибку log4j:

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

ClassNotFoundException: org.apache.log4j.Priority
Это связано с тем, что API файловой сети используют классы log4j1.
Это класс: com.filenet.apiimpl.util.BaseLogger.
Импорт классов:

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

import com.filenet.api.exception.EngineRuntimeException;
import com.filenet.api.exception.ErrorLoggingLevel;
import com.filenet.api.util.UserContext;
import com.filenet.apiimpl.exception.ExceptionContext;
import java.util.Enumeration;
import org.apache.log4j.Category;
import org.apache.log4j.ConsoleAppender;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.apache.log4j.PatternLayout;
Текущее решение — добавить log4j 1.2.17 в pom-файл

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

log4j
log4j
1.2.17

При добавлении этого исключения времени выполнения исчезает, и все работает нормально. Но я получаю следующее предупреждение только при первом вызове API файловой сети:

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

log4j:WARN No appenders could be found for logger (filenet_error.api.com.filenet.apiimpl.util.ConfigValueLookup).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
[Perf Log] perflog.dir=null not found, auditor disabled
[Perf Log] No interval found. Auditor disabled.
Есть ли лучшее решение для этого сценария, чем добавление старой зависимости log4j?

Подробнее здесь: https://stackoverflow.com/questions/723 ... lenet-apis
Ответить

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

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

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

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

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