代码生成时无法找到Hibernate MultiMap

时间:2016-04-24 19:16:16

标签: java apache hibernate maven jpa

虽然我正在尝试使用现有的db关系生成Hibernate的一些类,但它会产生一些错误:

org.hibernate.console.HibernateConsoleRuntimeException: Received a NoClassDefFoundError, probably the console configuration classpath is incomplete or contains conflicting versions of the same class
Received a NoClassDefFoundError, probably the console configuration classpath is incomplete or contains conflicting versions of the same class
org.hibernate.console.HibernateConsoleRuntimeException: Received a NoClassDefFoundError, probably the console configuration classpath is incomplete or contains conflicting versions of the same class
Received a NoClassDefFoundError, probably the console configuration classpath is incomplete or contains conflicting versions of the same class
java.lang.NoClassDefFoundError: org/apache/commons/collections/MultiMap
org/apache/commons/collections/MultiMap
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
org.apache.commons.collections.MultiMap cannot be found   byorg.jboss.tools.hibernate.runtime.v_5_1_5.0.1.Final-v20160331-1852-B88

我的maven文件:

<build>
<sourceDirectory>src</sourceDirectory>
<plugins>
  <plugin>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.3</version>
    <configuration>
      <source>1.8</source>
      <target>1.8</target>
    </configuration>
  </plugin>
</plugins>
</build>
<dependencies>
<dependency>
    <groupId>org.firebirdsql.jdbc</groupId>
    <artifactId>jaybird-jdk18</artifactId>
    <version>2.2.10</version>
</dependency>
<dependency>
   <groupId>org.hibernate</groupId>
   <artifactId>hibernate-core</artifactId>
   <version>5.1.0.Final</version>
</dependency>
<dependency>
    <groupId>commons-collections</groupId>
    <artifactId>commons-collections</artifactId>
    <version>3.2.2</version>
</dependency>

我在Maven Dependencies中看到了apache common-collections jar,我可以在我的代码中使用apache的MultiMap。

4 个答案:

答案 0 :(得分:3)

我有同样的问题。以下是我修复它的方法: 打开“编辑配置”对话框,转到“类路径”选项卡,删除项目名称(默认类路径),单击“添加项目...”按钮添加项目。 然后就行了。

或者您可以尝试使用以前的版本而不是v5.1。在hibernate透视图中,“您的配置”/编辑配置,将hibernate版本更改为先前版本,如v4.3。

答案 1 :(得分:1)

只是为了报名:Eclipse Mars。 Hibernate 5.1.0。 JDK 8.正如戈登和凯文上面提到的,在编辑配置中将Hibernate的版本更改为4.3英寸对我有用。

答案 2 :(得分:0)

我在控制台配置文件中将5.1的休眠版本更改为4.3。

  1. 设置休眠角度
  2. 打开Hibernate配置选项卡
  3. 右键单击您的配置
  4. 选择“编辑配置”
  5. 将Hibernate版本的5.1更改为4.3

答案 3 :(得分:0)

为我解决:Mars使用了Hibernate Tools插件v. 5.1.4。我只需要在“搜索更新”之后单击“更新”即可。