Мы попытались добавить Rampart
в файл POM нашего модуля, и после этого наш ear
больше не может начинаться со следующим исключением:
java.lang.IllegalAccessError: tried to access method org.apache.log4j.Logger.<init>(Ljava/lang/String;)V from class org.apache.log4j.spi.RootLogger
at org.apache.log4j.spi.RootLogger.<init>(RootLogger.java:43)
at org.apache.log4j.LogManager.<clinit>(LogManager.java:78)
at org.apache.log4j.xml.XMLWatchdog.doOnChange(DOMConfigurator.java:862)
at org.apache.log4j.helpers.FileWatchdog.checkAndConfigure(FileWatchdog.java:88)
at org.apache.log4j.helpers.FileWatchdog.<init>(FileWatchdog.java:57)
at org.apache.log4j.xml.XMLWatchdog.<init>(DOMConfigurator.java:853)
at org.apache.log4j.xml.DOMConfigurator.configureAndWatch(DOMConfigurator.java:584)
org.apache.log4j.Logger
определяется в двух банках - log4j
и log4j-over-slf4j
.В log4j
- есть конструктор:
protected Logger(String name)
В log4j-over-slf4j
есть конструктор:
Logger(String name) //Package access only
Кажется, что по какой-то причине Rampart
вызвал неверный путь к классамзаказ и размещение log4j-over-slf4j
до log4j
.
Однако самая тревожная проблема заключается в том, что мы не смогли изменить наш манифест ear
, чтобы изменить порядок, поэтому в итоге мы «решили» егодобавление log4j
фляги к System Classpath
Мой вопрос состоит из двух частей:
- Знакома ли проблема
Rampart
и есть ли у нее решение?? - По какой причине изменение манифеста уха не повлияет на путь к классу?(Я не настолько опытен с серверами приложений - поэтому очевидные ответы приветствуются)
Мы используем Weblogic 10.3
и Rampart 1.5.1
.Мы используем Maven
для компиляции и сборки файла ear
- и я только что узнал сегодня о файле mar
, поэтому любые входные данные об этом также будут приветствоваться.