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