0

I want to build a class library in java . That means I want to develop a jar file which will be used in another java project .

In this class library project , I have written a class named FingerMatching . I am using JSGFPLib clas from FDxSDKPro.jar in FingerMatching class . JSGFPLib class is located in SecuGen.FDxSDKPro.jni package.

In FingerMatching class , there are two methods . The prototype of that two methods are as follows :

 public boolean fingerPrintIndetify(byte[] fingerData, byte[][] fingerEnrollData) 
 boolean fingerprintVerify(byte[] regMin, byte[] regMin1)

After building this class project , I have got a jar . Let the name of this jar is "FingerMatching.jar" . I have imported this jar to another project . After running that project , I am getting this error .

11-Feb-2018 12:08:15.899 SEVERE [http-nio-8084-exec-77] org.apache.catalina.core.StandardWrapperValve.invoke Servlet.service() for servlet [FingerVerification] in context with path [/UFingerEnrollVerify] threw exception [Servlet execution threw an exception] with root cause
 java.lang.ClassNotFoundException: SecuGen.FDxSDKPro.jni.JSGFPLib
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1333)
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1167)
    at com.era.Fingerprint.FingerMatching.fingerprintVerify(FingerMatching.java:46)
    at com.era.Fingerprint.FingerMatching.fingerPrintIndetify(FingerMatching.java:31)
    at era.data.FingerPrintVerification.fingerVerfyFromTemplate(FingerPrintVerification.java:102)
    at era.servlet.FingerVerification.doPost(FingerVerification.java:172)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:648)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:217)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:673)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1456)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Thread.java:745)

Why am I getting this error ? Please help me to solve this error .

Christopher Marlowe
  • 2,098
  • 6
  • 38
  • 68
  • Possible duplicate of [What causes and what are the differences between NoClassDefFoundError and ClassNotFoundException?](https://stackoverflow.com/questions/1457863/what-causes-and-what-are-the-differences-between-noclassdeffounderror-and-classn) – LaurentY Feb 12 '18 at 13:27

1 Answers1

1

NoClassDefFoundError occurs when your project does not have required runtime dependecies in the classpath. Does your FingerMatching.jar includes everything from FDxSDKPro.jar. If it does not, you have to also import FDxSDKPro.jar to the newly created project.

miskender
  • 7,460
  • 1
  • 19
  • 23