3 Replies Latest reply: Oct 5, 2011 1:43 PM by Ales Justin RSS

jboss-classloading.xml ignored in a war?

Eric B Newbie

Hi,


I'm running JBoss AS6.1 and have a war application that I am trying to deploy.  In my war, I have the slf4j libraries included.  When I start the war, I get the following error messages:

 

17:16:01,288 ERROR [STDERR] SLF4J: Class path contains multiple SLF4J bindings.
17:16:01,290 ERROR [STDERR] SLF4J: Found binding in [vfs:/home/eric/.eclipse/workspace3/.metadata/.plugins/org.jboss.ide.eclipse.as.core/JBoss_6.1_Runtime_Server_-_ALL/deploy/webapp.war/WEB-INF/lib/slf4j-log4j12-1.6.1.jar/org/slf4j/impl/StaticLoggerBinder.class]
17:16:01,294 ERROR [STDERR] SLF4J: Found binding in [vfs:/opt/jboss/jboss-6.1.0.Final/common/lib/slf4j-jboss-logmanager.jar/org/slf4j/impl/StaticLoggerBinder.class]

 

 

I tried adding a jboss-classloading.xml file in my WEB-INF/ folder, but it has made no difference.  That error still remains:

 

WEB-INF/jboss-classloading.xml

 

<?xml version="1.0" encoding="UTF-8"?>


<classloading xmlns="urn:jboss:classloading:1.0"
                             name="myApp.war"
              domain="myApp.war"
              import-all="false"
              export-all="NON_EMPTY"
              parent-domain="DefaultDomain"
              parent-first="false">
</classloading>

 

 

 

And yet, I still get that error message.  Which would imply to me that the classloader is still finding JBoss' SLF4J libs instead of ignoring them completely.


Am I don't something wrong?  Is the classloading file being ignored in a war?  Do I have something improperly strcutred in the file?


Thanks,


Eric

  • 1. Re: jboss-classloading.xml ignored in a war?
    Ales Justin Master

    No, jboss-classloading.xml should be still picked up in a .war.

    The problem must be somewhere else.

    e.g. could be JBoss Logging -- since we override LogManager afaik

  • 2. Re: jboss-classloading.xml ignored in a war?
    Eric B Newbie

    Ales Justin wrote:

     

    The problem must be somewhere else.

    e.g. could be JBoss Logging -- since we override LogManager afaik

     

    Am not sure what you mean.  How do you override LogManager?  And even if the LogManager is overridden, then shouldn't the jboss-classloading.xml file be indicating to the ClassLoader to use the one from the war and nothing from outside the war?


    Thanks,


    Eric

  • 3. Re: jboss-classloading.xml ignored in a war?
    Ales Justin Master

    Am not sure what you mean.  How do you override LogManager?  And even if the LogManager is overridden, then shouldn't the jboss-classloading.xml file be indicating to the ClassLoader to use the one from the war and nothing from outside the war?

    At boot time we override the JDK's LogManager with our own.

    But I'm just guessing, as I'm pretty sure the classloading is setup as you define it -- with deployers picking up jboss-classloading.xml.

    Hence the issue must be somewhere else.