Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java.lang.NoClassDefFoundError:org/apache/commons/collections/map/LRUMap_Java_Hibernate - Fatal编程技术网

java.lang.NoClassDefFoundError:org/apache/commons/collections/map/LRUMap

java.lang.NoClassDefFoundError:org/apache/commons/collections/map/LRUMap,java,hibernate,Java,Hibernate,在问这个问题之前,我已经搜索了stackoverflow,但没有得到一个好的答案 调试该方法时: 我的问题日志如下: log4j:WARN No appenders could be found for logger (org.hibernate.type.BasicTypeRegistry). log4j:WARN Please initialize the log4j system properly. java.lang.NoClassDefFoundError: org/apache

在问这个问题之前,我已经搜索了stackoverflow,但没有得到一个好的答案

调试该方法时:

我的问题日志如下:

log4j:WARN No appenders could be found for logger (org.hibernate.type.BasicTypeRegistry).
log4j:WARN Please initialize the log4j system properly.

java.lang.NoClassDefFoundError: org/apache/commons/collections/map/LRUMap

   at org.hibernate.util.SimpleMRUCache.init(SimpleMRUCache.java:71)
    at org.hibernate.util.SimpleMRUCache.<init>(SimpleMRUCache.java:55)
    at org.hibernate.engine.query.QueryPlanCache.<init>(QueryPlanCache.java:76)
    at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:237)
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1842)
    at com.ypd.a.entity.App.testHello(App.java:26)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:289)
    at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:114)
    at org.junit.jupiter.engine.descriptor.MethodTestDescriptor.lambda$invokeTestMethod$7(MethodTestDescriptor.java:212)
    at org.junit.jupiter.engine.execution.ThrowableCollector.execute(ThrowableCollector.java:40)
    at org.junit.jupiter.engine.descriptor.MethodTestDescriptor.invokeTestMethod(MethodTestDescriptor.java:208)
    at org.junit.jupiter.engine.descriptor.MethodTestDescriptor.execute(MethodTestDescriptor.java:155)
    at org.junit.jupiter.engine.descriptor.MethodTestDescriptor.execute(MethodTestDescriptor.java:63)
    at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$execute$0(HierarchicalTestExecutor.java:80)
    at org.junit.platform.engine.support.hierarchical.SingleTestExecutor.executeSafely(SingleTestExecutor.java:66)
    at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:76)
    at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$execute$0(HierarchicalTestExecutor.java:87)
    at org.junit.platform.engine.support.hierarchical.SingleTestExecutor.executeSafely(SingleTestExecutor.java:66)
    at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:76)
    at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$execute$0(HierarchicalTestExecutor.java:87)
    at org.junit.platform.engine.support.hierarchical.SingleTestExecutor.executeSafely(SingleTestExecutor.java:66)
    at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:76)
    at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:51)
    at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:43)
    at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:129)
    at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:85)
    at com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java:59)
    at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:51)
    at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:237)
    at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.collections.map.LRUMap
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 34 more
log4j:WARN找不到记录器(org.hibernate.type.BasicTypeRegistry)的附加程序。
log4j:警告请正确初始化log4j系统。
java.lang.NoClassDefFoundError:org/apache/commons/collections/map/LRUMap
位于org.hibernate.util.simplerucache.init(simplerucache.java:71)
位于org.hibernate.util.SimpleRucache(simpleRucache.java:55)
在org.hibernate.engine.query.QueryPlanache上
位于org.hibernate.impl.SessionFactoryImpl.(SessionFactoryImpl.java:237)
位于org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1842)
位于com.ypd.a.entity.App.testHello(App.java:26)
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)中
位于java.lang.reflect.Method.invoke(Method.java:498)
位于org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:289)
位于org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:114)
位于org.junit.jupiter.engine.descriptor.MethodTestDescriptor.lambda$invokeTestMethod$7(MethodTestDescriptor.java:212)
位于org.junit.jupiter.engine.execution.ThrowableCollector.execute(ThrowableCollector.java:40)
位于org.junit.jupiter.engine.descriptor.MethodTestDescriptor.invokeTestMethod(MethodTestDescriptor.java:208)
位于org.junit.jupiter.engine.descriptor.MethodTestDescriptor.execute(MethodTestDescriptor.java:155)
位于org.junit.jupiter.engine.descriptor.MethodTestDescriptor.execute(MethodTestDescriptor.java:63)
位于org.junit.platform.engine.support.hierarchy.HierarchycalTestExecutor.lambda$execute$0(HierarchycalTestExecutor.java:80)
位于org.junit.platform.engine.support.hierarchy.SingleTestExecutor.ExecuteSafley(SingleTestExecutor.java:66)
位于org.junit.platform.engine.support.hierarchy.HierarchycalTestExecutor.execute(HierarchycalTestExecutor.java:76)
位于org.junit.platform.engine.support.HierarchicalTestExecutor.lambda$execute$0(HierarchicalTestExecutor.java:87)
位于org.junit.platform.engine.support.hierarchy.SingleTestExecutor.ExecuteSafley(SingleTestExecutor.java:66)
位于org.junit.platform.engine.support.hierarchy.HierarchycalTestExecutor.execute(HierarchycalTestExecutor.java:76)
位于org.junit.platform.engine.support.HierarchicalTestExecutor.lambda$execute$0(HierarchicalTestExecutor.java:87)
位于org.junit.platform.engine.support.hierarchy.SingleTestExecutor.ExecuteSafley(SingleTestExecutor.java:66)
位于org.junit.platform.engine.support.hierarchy.HierarchycalTestExecutor.execute(HierarchycalTestExecutor.java:76)
位于org.junit.platform.engine.support.hierarchy.HierarchycalTestExecutor.execute(HierarchycalTestExecutor.java:51)
位于org.junit.platform.engine.support.hierarchy.HierarchycalTestEngine.execute(hierarchycalTestEngine.java:43)
位于org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:129)
位于org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:85)
位于com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java:59)
位于com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:51)
位于com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:237)
位于com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)
原因:java.lang.ClassNotFoundException:org.apache.commons.collections.map.LRUMap
位于java.net.URLClassLoader.findClass(URLClassLoader.java:381)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:424)
位于sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 34多
原因是:

java.lang.ClassNotFoundException: org.apache.commons.collections.map.LRUMap


您的日志中有一个明显的解释:

java.lang.ClassNotFoundException:

如果您看到此类型错误,则应考虑是否没有插件库。


您应该做的是搜索
commons collections
,并复制您想要的版本,添加到pom.xml中,然后安装它。

所以过去几天我一直在处理这个问题。我在使用Tomcat 9时仍然遇到问题,但在Tomcat 8上,我能够通过向commons collections和commons-collections4添加DEP来避免错误,如下所示:

编译组:'org.apache.commons',名称:'commons-collections4',版本:'4.0'

编译组:“commons collections”,名称:“commons collections”,版本:“3.2.2”
我刚刚发现了类似的东西:
org.apache.commons.collections.LRUMap
已经变成了
org.apache.commons.collections4.map.LRUMap
,可能开发者认为如果没有不兼容的更改,用户会很难过。我取消了lib commons collections的检查,忘记了这一点,谢谢你的回答。