将hibernate与restful web服务集成时出现问题?

时间:2010-08-03 13:48:33

标签: java hibernate jersey

我现在使用hibernate一段时间没有任何(更大的)问题。 现在我正在尝试用项目运动衫制作RESTful Webservices。

似乎hibernate依赖于ASM框架(asm.jar,asm-attrs.jar)和依赖于ASM的jersey(asm V3.1 asm-3.1.jar)在asm实现方面存在问题版本

使用asm.jar时,jersey缺少org.objectweb.asm.ClassVisitor中的方法。当使用asm-3.1.jar作为泽西分布时,hibernate抱怨缺少类net.sf.cglib.proxy.Enhancer,它在cglib-2.1.3.jar中提供。

两个库都在使用cglib.jar。 感谢致敬 Niladri

2 个答案:

答案 0 :(得分:1)

我通过在hibernate

中从cglib切换到javassist解决了这个“依赖性问题”
hibernate.properties:
hibernate.bytecode.provider=javassist

让泽西使用cglib。

答案 1 :(得分:0)

我使用Maven作为构建工具,我通过排除ASM而不是包含“CGLIB No Dependency”依赖来解决问题。

  <dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate</artifactId>
    <version>${hibernate.version}</version>
    <exclusions>
      <exclusion>
        <groupId>asm</groupId>
        <artifactId>asm</artifactId>
      </exclusion>
      <exclusion>
        <groupId>asm</groupId>
        <artifactId>asm-attrs</artifactId>
      </exclusion>
      <exclusion>
        <groupId>cglib</groupId>
        <artifactId>cglib</artifactId>
      </exclusion>
    </exclusions>
  </dependency>
  <dependency>
    <groupId>cglib</groupId>
    <artifactId>cglib-nodep</artifactId>
    <version>${cglib.version}</version>
  </dependency>