Проблема возникает при интеграции гибернации с полноценным веб-сервисом?

Я использую Hibernate некоторое время сейчас без каких-либо (больших) проблем. Сейчас я пытаюсь разработать RESTful Webservices с проектом Джерси.

Похоже, что hibernate, который зависит от платформы ASM (asm.jar, asm-attrs.jar) и jersey, который также зависит от ASM (asm V3.1 от asm-3.1.jar), имеет проблемы с версиями реализации asm.

При использовании asm.jar в jersey отсутствует метод в org.objectweb.asm.ClassVisitor. При использовании asm-3.1.jar из дистрибутива jersey hibernate жалуется на отсутствие класса net.sf.cglib.proxy.Enhancer, который представлен в cglib-2.1.3.jar.

Обе библиотеки используют cglib.jar. Спасибо и С наилучшими пожеланиями Niladri

2 ответа

Я решил эту "проблему зависимости", переключившись с cglib на javassist в hibernate

hibernate.properties:
hibernate.bytecode.provider=javassist

и пусть джерси использует cglib.

Я использую 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>
Другие вопросы по тегам