SMBJ Library and SLF4J: Failed to load class

791 Views Asked by At

I tried to connect the file server using the library smbj, I am getting the error "Failed to load class "org.slf4j.impl.StaticLoggerBinder"." Shared the Error Log for reference. My requirement is to change the "jcifs library" to "smbj library", the below sample code has been written for that.

CODE:-
import com.hierynomus.msfscc.fileinformation.FileIdBothDirectoryInformation;
import com.hierynomus.smbj.SMBClient;
import com.hierynomus.smbj.auth.AuthenticationContext;
import com.hierynomus.smbj.connection.Connection;
import com.hierynomus.smbj.session.Session;
import com.hierynomus.smbj.share.DiskShare;
import net.engio.mbassy.bus.error.IPublicationErrorHandler;
import net.engio.mbassy.bus.error.PublicationError;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

    public class pseudo {
        public static void main(String[] args) throws Exception {
    
        @SuppressWarnings("resource")
        SMBClient client = new SMBClient();
    
        try (Connection connection = client.connect("xxxxx")) {
            AuthenticationContext ac = new AuthenticationContext("xxxx", "xxxx".toCharArray(), "DOMAIN");
            Session session = connection.authenticate(ac);
    
            // Connect to Share
            try (DiskShare share = (DiskShare) session.connectShare("XXXX\")) {
                for (FileIdBothDirectoryInformation f : share.list("")) {
                    System.out.println("File : " + f.getFileName());
                }           
            }
        }
    }  
    }

Error:

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Exception in thread "main" java.lang.NoClassDefFoundError: net/engio/mbassy/bus/error/IPublicationErrorHandler
    at com.hierynomus.smbj.SMBClient.<init>(SMBClient.java:54)
    at com.hierynomus.smbj.SMBClient.<init>(SMBClient.java:50)
    at com.tnq.fms.poc2.main(poc2.java:23)
Caused by: java.lang.ClassNotFoundException: net.engio.mbassy.bus.error.IPublicationErrorHandler
    at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
    ... 3 more

Used Lib: smbj-0.11.3.jar slf4j-api-1.7.15.jar log4j-1.2.16.jar

0

There are 0 best solutions below