java - hibernate java.lang.NoClassDefFoundError : org/apache/commons/collections/MultiMap

标签 java mysql eclipse hibernate servlets

每次我尝试刷新 Hibernate 逆向工程文件的数据库方案时,我都会遇到未处理的事件循环异常:

Hibernate Reverse Engineering File

java.lang.NoClassDefFoundError: org/apache/commons/collections/MultiMap
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
at java.lang.Class.privateGetMethodRecursive(Unknown Source)
at java.lang.Class.getMethod0(Unknown Source)
at java.lang.Class.getMethod(Unknown Source)
at org.jboss.tools.hibernate.runtime.common.Util.invokeMethod(Util.java:41)
at org.jboss.tools.hibernate.runtime.common.AbstractOverrideRepositoryFacade.addTableFilter(AbstractOverrideRepositoryFacade.java:31)
at org.hibernate.eclipse.mapper.editors.ReverseEngineeringEditor.getLazyDatabaseSchema(ReverseEngineeringEditor.java:219)
at org.hibernate.eclipse.mapper.editors.reveng.TypeMappingFormPart$1.doRefreshTree(TypeMappingFormPart.java:57)
at org.hibernate.eclipse.console.wizards.TreeToTableComposite$6.widgetSelected(TreeToTableComposite.java:400)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:248)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4362)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1113)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4180)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3769)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1127)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1018)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:694)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:606)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:139)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:669)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:608)
at org.eclipse.equinox.launcher.Main.run(Main.java:1515)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.collections.MultiMap cannot be found by org.jboss.tools.hibernate.runtime.v_5_1_5.0.1.Final-v20160331-1852-B88
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:439)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:352)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:344)
at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:160)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 37 more

但是,我将 commons-collections-3.2.2.jar 和 commons-collections-3.2.2-javadoc.jar 放在构建路径中,所以在 WebContent/WEB-INF/lib 中:Project Explorer

有人知道如何解决这个问题吗?

最佳答案

我通过 Hibernate 控制台配置将 hibernate 版本降级到 4.3 并创建了配置(Hibernate Perspective - 运行 Hibernate - Hibernate 代码生成配置),它开始工作了。

关于java - hibernate java.lang.NoClassDefFoundError : org/apache/commons/collections/MultiMap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37113625/

相关文章:

c++ - 迭代器实现——(链表队列)

Eclipse m2e - pom.xml 中没有这样的文件或目录

java - 创建了多少 Java 字符串?

java - 在Java中获取Path2D对象的坐标对?

php - 外键没有与主键一起更新?

mysql - 如何获取 3 个月的数据,不包括每个月的周末数据

mysql - 无法在 jdbc 准备好的语句中的外键表中插入数据

Eclipse、Checkstyle 和 java 文档注释中的空格

java - 如何在 Mac OS Sierra 上安装 Jflex

java - 比较扩展相同父类(super class)的类