कॉन्फ़िगर कैसे करें I JBoss के साथ आने वाले मेरे आवेदन से libs लोड करने का प्रयास करने के साथ कुछ मुद्दों में भाग रहा हूं।JBOSS 5.1.0 GA क्लासलोडर
मैं अपने आवेदन में नवीनतम और सबसे बड़ी SLF4J का उपयोग करने के कोशिश कर रहा हूँ और ऐसा करने में मैं निम्न संदेश मिल रहा है:
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [vfszip:/C:/devtools/workspace/g2/.metadata/.plugins/org.jboss.ide.eclipse.as.core/JBoss_5.1_Runtime_Server1302541739184/deploy/ecotrakEar.ear/ecotrak.war/WEB-INF/lib/slf4j-log4j12-1.6.1.jar/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [vfszip:/C:/devtools/jboss-5.1.0.GA/common/lib/slf4j-jboss-logging.jar/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
अपने आवेदन में मैं निम्नलिखित जार मेरी युद्ध lib में स्थित है निर्देशिका:
- Jul-टू-slf4j-1.6.1.jar
- slf4j-api-1.6.1.jar
- slf4j-log4j12-1.6.1.jar 01,235,
मेरी परियोजना को एक युद्ध के साथ एक ईएआर के रूप में तैनात किया गया है। सभी पुस्तकालय युद्ध में रहते हैं।
कुछ शोधों के आधार पर यह सुझाव दिया गया है कि जेबॉस 5.1 के लिए एक jboss-classloading.xml फ़ाइल बनाई जाएगी। मैंने अपने ईएआर के लिए एक बनाया है:
<classloading xmlns="urn:jboss:classloading:1.0"
name="ecotrak.ear"
domain="ecotrak.ear"
export-all="NON_EMPTY"
import-all="true"
parent-first="false">
</classloading>
यह पहचानता है कि ईएआर फ़ाइल पहले लोड की जानी चाहिए।
मैं अपने युद्ध के लिए एक बनाया है:
11:18:07,949 ERROR [[/ecotrak]] Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
java.lang.NoSuchMethodError: org.slf4j.spi.LocationAwareLogger.log(Lorg/slf4j/Marker;Ljava/lang/String;ILjava/lang/String;[Ljava/lang/Object;Ljava/lang/Throwable;)V
at org.apache.commons.logging.impl.SLF4JLocationAwareLog.trace(SLF4JLocationAwareLog.java:107)
क्या आदेश है करने के लिए सही तरीका है:
<classloading xmlns="urn:jboss:classloading:1.0"
name="ecotrak.war"
domain="ecotrak.war"
parent-domain="ecotrak.ear"
top-level-classloader="true"
export-all="NON_EMPTY"
import-all="true"
parent-first="true">
</classloading>
इस विन्यास मैं स्टार्टअप लॉग में निम्न त्रुटि हो रही है साथ मेरी परियोजना से जार जेबॉस के सामने लोड हो जाएंगे? खुद classloader परिभाषित करने के लिए
<jboss-app>
<loader-repository>
com.example:archive=unique-archive-name
</loader-repository>
</jboss-app>
META-INF में
/jboss-app.xml: