Hello.
We are getting this error on our dev environment.
At the same time I have no errors on local machine.
It seems we don’t have the required package installed on dev.
But which one? Or is it something else?
Thanks in advance.
Hi, I’m a developer of the Aspose.OCR team. I will try to help you, please share the error you are getting and the project settings
Now I can only advise you - try to get the resources before calling the main API methods because sometimes the server’s firewall or other restrictions can cause an error with the resources.
The method you should call
Resources.FetchAll();
Please tell me if this method works without error when you call it
Thank you
The error.
java.lang.NoClassDefFoundError: Could not initialize class com.aspose.ocr.ar at com.aspose.ocr.w.e0cd0c6d16(Unknown Source) at com.aspose.ocr.w.f(Unknown Source) at com.aspose.ocr.AsposeOCR.Recognize(Unknown Source) at com.aspose.ocr.AsposeOCR.Recognize(Unknown Source) at *****.AsposeConvertTaskListener.extractTextFromPdf(AsposeConvertTaskListener.java:198) at *****.AsposeConvertTaskListener.convertToDocxAndForwardRequestToTranslationsMS(AsposeConvertTaskListener.java:74) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) at java.base/java.lang.reflect.Method.invoke(Method.java:580) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:351) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:765) at org.springframework.aop.framework.adapter.MethodBeforeAdviceInterceptor.invoke(MethodBeforeAdviceInterceptor.java:58) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:173) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:765) at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:765) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:717) at *****.AsposeConvertTaskListener$$SpringCGLIB$$0.convertToDocxAndForwardRequestToTranslationsMS(<generated>) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) at java.base/java.lang.reflect.Method.invoke(Method.java:580) at org.springframework.messaging.handler.invocation.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:169) at org.springframework.messaging.handler.invocation.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:119) at org.springframework.amqp.rabbit.listener.adapter.HandlerAdapter.invoke(HandlerAdapter.java:75) at org.springframework.amqp.rabbit.listener.adapter.MessagingMessageListenerAdapter.invokeHandler(MessagingMessageListenerAdapter.java:278) at org.springframework.amqp.rabbit.listener.adapter.MessagingMessageListenerAdapter.invokeHandlerAndProcessResult(MessagingMessageListenerAdapter.java:225) at org.springframework.amqp.rabbit.listener.adapter.MessagingMessageListenerAdapter.onMessage(MessagingMessageListenerAdapter.java:149) at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:1682) at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.actualInvokeListener(AbstractMessageListenerContainer.java:1604) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) at java.base/java.lang.reflect.Method.invoke(Method.java:580) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:351) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.retry.interceptor.RetryOperationsInterceptor$1.doWithRetry(RetryOperationsInterceptor.java:102) at org.springframework.retry.support.RetryTemplate.doExecute(RetryTemplate.java:335) at org.springframework.retry.support.RetryTemplate.execute(RetryTemplate.java:227) at org.springframework.retry.interceptor.RetryOperationsInterceptor.invoke(RetryOperationsInterceptor.java:124) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:220) at org.springframework.amqp.rabbit.listener.$Proxy225.invokeListener(Unknown Source) at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:1592) at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:1583) at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.executeListenerAndHandleException(AbstractMessageListenerContainer.java:1528) at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.lambda$executeListener$8(AbstractMessageListenerContainer.java:1506) at io.micrometer.observation.Observation.observe(Observation.java:499) at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.executeListener(AbstractMessageListenerContainer.java:1506) at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer.doReceiveAndExecute(SimpleMessageListenerContainer.java:1084) at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer.receiveAndExecute(SimpleMessageListenerContainer.java:1020) at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer$AsyncMessageProcessingConsumer.mainLoop(SimpleMessageListenerContainer.java:1422) at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer$AsyncMessageProcessingConsumer.run(SimpleMessageListenerContainer.java:1324) at java.base/java.lang.Thread.run(Thread.java:1583) Caused by: java.lang.ExceptionInInitializerError: Exception java.lang.RuntimeException: java.lang.RuntimeException: Unsupported classes source type. [in thread "4599a7d6-4da0-47ba-b1e8-6b0ea9b8c168-1"] at com.aspose.ocr.ar.<clinit>(Unknown Source) ... 53 more
After putting com.aspose.ocr.Resources#FetchAll
java.lang.ExceptionInInitializerError at com.aspose.ocr.w.e0cd0c6d16(Unknown Source) at com.aspose.ocr.w.f(Unknown Source) at com.aspose.ocr.AsposeOCR.Recognize(Unknown Source) at com.aspose.ocr.AsposeOCR.Recognize(Unknown Source) at *****.AsposeConvertTaskListener.extractTextFromPdf(AsposeConvertTaskListener.java:200) at *****.AsposeConvertTaskListener.convertToDocxAndForwardRequestToTranslationsMS(AsposeConvertTaskListener.java:75) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) at java.base/java.lang.reflect.Method.invoke(Method.java:580) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:351) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:765) at org.springframework.aop.framework.adapter.MethodBeforeAdviceInterceptor.invoke(MethodBeforeAdviceInterceptor.java:58) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:173) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:765) at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:765) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:717) at *****.AsposeConvertTaskListener$$SpringCGLIB$$0.convertToDocxAndForwardRequestToTranslationsMS(<generated>) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) at java.base/java.lang.reflect.Method.invoke(Method.java:580) at org.springframework.messaging.handler.invocation.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:169) at org.springframework.messaging.handler.invocation.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:119) at org.springframework.amqp.rabbit.listener.adapter.HandlerAdapter.invoke(HandlerAdapter.java:75) at org.springframework.amqp.rabbit.listener.adapter.MessagingMessageListenerAdapter.invokeHandler(MessagingMessageListenerAdapter.java:278) at org.springframework.amqp.rabbit.listener.adapter.MessagingMessageListenerAdapter.invokeHandlerAndProcessResult(MessagingMessageListenerAdapter.java:225) at org.springframework.amqp.rabbit.listener.adapter.MessagingMessageListenerAdapter.onMessage(MessagingMessageListenerAdapter.java:149) at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:1682) at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.actualInvokeListener(AbstractMessageListenerContainer.java:1604) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) at java.base/java.lang.reflect.Method.invoke(Method.java:580) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:351) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.retry.interceptor.RetryOperationsInterceptor$1.doWithRetry(RetryOperationsInterceptor.java:102) at org.springframework.retry.support.RetryTemplate.doExecute(RetryTemplate.java:335) at org.springframework.retry.support.RetryTemplate.execute(RetryTemplate.java:227) at org.springframework.retry.interceptor.RetryOperationsInterceptor.invoke(RetryOperationsInterceptor.java:124) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:220) at org.springframework.amqp.rabbit.listener.$Proxy170.invokeListener(Unknown Source) at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:1592) at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:1583) at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.executeListenerAndHandleException(AbstractMessageListenerContainer.java:1528) at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.lambda$executeListener$8(AbstractMessageListenerContainer.java:1506) at io.micrometer.observation.Observation.observe(Observation.java:499) at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.executeListener(AbstractMessageListenerContainer.java:1506) at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer.doReceiveAndExecute(SimpleMessageListenerContainer.java:1084) at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer.receiveAndExecute(SimpleMessageListenerContainer.java:1020) at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer$AsyncMessageProcessingConsumer.mainLoop(SimpleMessageListenerContainer.java:1422) at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer$AsyncMessageProcessingConsumer.run(SimpleMessageListenerContainer.java:1324) at java.base/java.lang.Thread.run(Thread.java:1583) Caused by: java.lang.RuntimeException: java.lang.RuntimeException: Unsupported classes source type. at com.aspose.ocr.ar.<clinit>(Unknown Source) ... 53 more Caused by: java.lang.RuntimeException: Unsupported classes source type. ... 54 more
Caused by: java.lang.RuntimeException: Unsupported classes source type.
Seems that java version mismatch. We are using java 21.
It fails on com.aspose.ocr.AsposeOCR#Recognize(com.aspose.ocr.OcrInput)
Any update?
We have checked the issue and looks like it needs further investigation. A task as OCRJAVA-376 has been generated in our issue management system to carry out further analysis about this issue. We will look into its details and let you know as soon as it is resolved. Please spare us some time.
We apologize for the inconvenience.
Hi,
any progress on this issue? We’re facing very similar one when trying to run Aspose OCR in Docker container with base image amazoncorretto:17.0.11.
Caused by: java.lang.RuntimeException: java.lang.RuntimeException: Unsupported classes source type.
2025-10-30T08:18:22.052910545Z at com.aspose.ocr.ba.(Unknown Source)
2025-10-30T08:18:22.052913337Z … 34 common frames omitted
2025-10-30T08:18:22.052914628Z Caused by: java.lang.RuntimeException: Unsupported classes source type.
2025-10-30T08:18:22.052915837Z … 35 common frames omitted
Would you please share a bit more details like docker file and the code snippet for our reference? Also, please confirm if you have already tried using the latest version of the API? We will log an investigation ticket to further investigate your case and share the ID with you.
Hi @asad.ali ,
thank you for your reply.
ocr-test.zip (50,3 KB)
I performed couple of tests and the problem occurs when using Aspose OCR by Spring Component. When using plain java project ocr seems to be working fine. I attached archive with sample project reproducing the issue.
We have opened the following new ticket(s) in our internal issue tracking system and will deliver their fixes according to the terms mentioned in Free Support Policies.
Issue ID(s): OCRJAVA-446
You can obtain Paid Support Services if you need support on a priority basis, along with the direct access to our Paid Support management team.
Thank you for the update regarding ticket OCRJAVA-446! I look forward to hearing back about this issue and its resolution. In case of any queries do not hesitate to contact me.
Thanks again for your assistance!
Best regards,
Pawel