Причина: java.lang.NoClassDefFoundError: org / apache / log4j / Logger

У меня есть интересная проблема, в которой класс org.apache.log4j.Logger не найден во время выполнения. Я пытаюсь получить разрешение, и вот где это не удается:

OAuthAuthorizer oauthAuthorizer = new OAuthAuthorizer(OAUTH_CONSUMER_KEY, OAUTH_CONSUMER_SECRET, SAML_PROVIDER_ID, userId);

Я использую JDeveloper 11.1.1.6. Вот что я знаю:

Я заглянул в свой каталог UI.war / WEB-INF / lib и увидел там log4j-1.2.17.jar.

Класс, жалующийся на это - org.opensaml.xml.XMLConfigurator

Caused by: java.lang.NoClassDefFoundError: org/apache/log4j/Logger
    at org.opensaml.xml.XMLConfigurator.<clinit>(XMLConfigurator.java:60)
    at org.opensaml.DefaultBootstrap.initializeXMLTooling(DefaultBootstrap.java:195)
    at org.opensaml.DefaultBootstrap.bootstrap(DefaultBootstrap.java:91)
    at com.intuit.ipp.aggcat.util.SAML2AssertionGenerator.getSAMLBuilder(SAML2AssertionGenerator.java:156)
    at com.intuit.ipp.aggcat.util.SAML2AssertionGenerator.createSubject(SAML2AssertionGenerator.java:187)
    at com.intuit.ipp.aggcat.util.SAML2AssertionGenerator.buildAssertion(SAML2AssertionGenerator.java:114)
    at com.intuit.ipp.aggcat.util.SAML2AssertionGenerator.generateSignedAssertion(SAML2AssertionGenerator.java:83)
    at com.intuit.ipp.aggcat.util.SamlUtil.createSignedSAMLPayload(SamlUtil.java:156)
    at com.intuit.ipp.aggcat.util.OAuthUtil.getOAuthTokens(OAuthUtil.java:60)
    at com.intuit.ipp.aggcat.core.OAuthAuthorizer.<init>(OAuthAuthorizer.java:85)
    at com.incomemax.view.intuit.WebUtil.getAggCatService(WebUtil.java:91)
Caused by: java.lang.ClassNotFoundException: org.apache.log4j.Logger
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:305)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:246)
    ... 64 more

Я декомпилировал XMLConfigurator и, как ни странно, он не импортирует org.apache.log4j.Logger. Он использует org.slf4j.Logger, который также находится в моем каталоге jars (slf4j-api-1.7.5.jar). Также интересно, что строка 60 (смотрите трассировку стека) - это пустая строка в моей декомпиляции.

Конечно, если я добавлю Logger.xxxxx во время разработки, он будет в порядке.

Я использую код / jars непосредственно из примера кода Java, но импортируется в мое существующее приложение.

Я искал в Интернете ответы и считаю, что проверил все области, о которых могу думать. Я также ссылался на эту очень хорошую страницу:http://myarch.com/classnotfound/

Учитывая, что авторизация является первым шагом в использовании Intuit Developer API, я немного застрял.

Добавление вывода из предложения @jhadesdev:

Все версии log4j Logger:

ZIP: C: /Users/Chris/AppData/Roaming/JDeveloper/system11.1.1.6.38.61.92/DefaultDomain/servers/DefaultServer/tmp/_WL_user/j2ee-app/lt5l71/war/WEB-INF/lib/log4j-1.2 .17.jar! /org/apache/log4j/Logger.class

Все версии log4j видимы из загрузчика классов класса OAuthAuthorizer:

ZIP: C: /Users/Chris/AppData/Roaming/JDeveloper/system11.1.1.6.38.61.92/DefaultDomain/servers/DefaultServer/tmp/_WL_user/j2ee-app/lt5l71/war/WEB-INF/lib/log4j-1.2 .17.jar! /org/apache/log4j/Logger.class

Все версии XMLConfigurator:

баночка: Файл: / C: /Oracle/Middleware11116/modules/com.bea.core.bea.opensaml2_1.0.0.0_6-1-0-0.jar /org/opensaml/xml/XMLConfigurator.class

ZIP: C: /Users/Chris/AppData/Roaming/JDeveloper/system11.1.1.6.38.61.92/DefaultDomain/servers/DefaultServer/tmp/_WL_user/j2ee-app/lt5l71/war/WEB-INF/lib/ipp-java -aggcat-v1-DevKit-1.0.2.jar! /org/opensaml/xml/XMLConfigurator.class

ZIP: C: /Users/Chris/AppData/Roaming/JDeveloper/system11.1.1.6.38.61.92/DefaultDomain/servers/DefaultServer/tmp/_WL_user/j2ee-app/lt5l71/war/WEB-INF/lib/xmltooling-1.3 .1.jar! /org/opensaml/xml/XMLConfigurator.class

Все версии XMLConfigurator видимы из загрузчика классов класса OAuthAuthorizer:

баночка: Файл: / C: /Oracle/Middleware11116/modules/com.bea.core.bea.opensaml2_1.0.0.0_6-1-0-0.jar /org/opensaml/xml/XMLConfigurator.class

ZIP: C: /Users/Chris/AppData/Roaming/JDeveloper/system11.1.1.6.38.61.92/DefaultDomain/servers/DefaultServer/tmp/_WL_user/j2ee-app/lt5l71/war/WEB-INF/lib/ipp-java -aggcat-v1-DevKit-1.0.2.jar! /org/opensaml/xml/XMLConfigurator.class

ZIP: C: /Users/Chris/AppData/Roaming/JDeveloper/system11.1.1.6.38.61.92/DefaultDomain/servers/DefaultServer/tmp/_WL_user/j2ee-app/lt5l71/war/WEB-INF/lib/xmltooling-1.3 .1.jar! /org/opensaml/xml/XMLConfigurator.class

Я все еще работаю над интерпретацией результатов.

Ответы на вопрос(8)

Ваш ответ на вопрос