OCR4all / LAREX

A semi-automatic open-source tool for Layout Analysis and Region EXtraction on early printed books.
MIT License
179 stars 33 forks source link

java.lang.RuntimeException: Failed to get field handle to set library path #242

Closed exitNA closed 3 years ago

exitNA commented 3 years ago

after link war file to tomcat webapps dir, I open the page from http://localhost:8080/Larex/, got those java exceptions:

java.lang.RuntimeException: Failed to get field handle to set library path nu.pattern.OpenCV$SharedLoader.addLibraryPath(OpenCV.java:258) nu.pattern.OpenCV$SharedLoader.<init>(OpenCV.java:206) nu.pattern.OpenCV$SharedLoader.<init>(OpenCV.java:187) nu.pattern.OpenCV$SharedLoader$Holder.<clinit>(OpenCV.java:228) nu.pattern.OpenCV$SharedLoader.getInstance(OpenCV.java:232) nu.pattern.OpenCV.loadShared(OpenCV.java:181) de.uniwue.web.config.MvcConfiguration.<clinit>(MvcConfiguration.java:29) java.base/java.lang.Class.forName0(Native Method) java.base/java.lang.Class.forName(Class.java:468) org.springframework.cglib.core.ReflectUtils.defineClass(ReflectUtils.java:537) org.springframework.cglib.core.AbstractClassGenerator.generate(AbstractClassGenerator.java:359) org.springframework.cglib.proxy.Enhancer.generate(Enhancer.java:582) org.springframework.cglib.core.AbstractClassGenerator$ClassLoaderData$3.apply(AbstractClassGenerator.java:106) org.springframework.cglib.core.AbstractClassGenerator$ClassLoaderData$3.apply(AbstractClassGenerator.java:104) org.springframework.cglib.core.internal.LoadingCache$2.call(LoadingCache.java:54) java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) org.springframework.cglib.core.internal.LoadingCache.createEntry(LoadingCache.java:61) org.springframework.cglib.core.internal.LoadingCache.get(LoadingCache.java:34) org.springframework.cglib.core.AbstractClassGenerator$ClassLoaderData.get(AbstractClassGenerator.java:130) org.springframework.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:315) org.springframework.cglib.proxy.Enhancer.createHelper(Enhancer.java:569) org.springframework.cglib.proxy.Enhancer.createClass(Enhancer.java:416) org.springframework.context.annotation.ConfigurationClassEnhancer.createClass(ConfigurationClassEnhancer.java:137) org.springframework.context.annotation.ConfigurationClassEnhancer.enhance(ConfigurationClassEnhancer.java:109) org.springframework.context.annotation.ConfigurationClassPostProcessor.enhanceConfigurationClasses(ConfigurationClassPostProcessor.java:402) org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanFactory(ConfigurationClassPostProcessor.java:253) org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:286) org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:130) org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:693) org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:530) org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:696) org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:662) org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:710) org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:587) org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:526) org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:169) javax.servlet.GenericServlet.init(GenericServlet.java:158) org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:978) org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1848) java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:118) org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:773) org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:427) org.apache.catalina.startup.HostConfig.start(HostConfig.java:1576) org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:309) org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123) org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:423) org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:366) org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140) org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) org.apache.catalina.startup.Catalina.start(Catalina.java:772) java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64) java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) java.base/java.lang.reflect.Method.invoke(Method.java:564) org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:342) org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:473)

maxnth commented 3 years ago

This seems to be related to #239

Building LAREX for Java 8 should resolve this (I just saw that we don't explicitly state this in our README, I'll change this).

maxnth commented 3 years ago

In case building for Java 8 didn't fix the problem, feel free to reopen the issue.