Sử dụng Jersey (các Java REST của khung) kết hợp với Hibernate đòi hỏi một số tinh chỉnh của pom.xml tập tin của Maven. Vấn đề là Hibernate sử dụng ASM 1.5.3
không tương thích với ASM 3.1
được sử dụng bởi Jersey.
Những gì bạn cần làm là loại trừ một số phụ thuộc bắc cầu từ Hibernate:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate</artifactId>
<version>3.2.6.ga</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>
Sau đó, bạn cần phải bao gồm các phiên bản đúng của ASM:
<dependency>
<groupId>asm</groupId>
<artifactId>asm</artifactId>
<version>3.1</version>
</dependency>
Cuối cùng, bạn cần phải bao gồm một phiên bản nodep của CGLib đóng gói lại các lớp từ ASM phiên bản 1.5.3:
<dependency>
<groupId>cglib</groupId>
<artifactId>cglib-nodep</artifactId>
<version>2.1_3</version>
</dependency>
nguồn: http://blog.idm.fr/2009/04/jersey-hibernate-conflict.html
Bạn đã bao giờ tìm thấy một giải pháp cho điều này? Tôi đang chạy vào điều này ngay bây giờ. Tôi đang sử dụng Hibernate 3,2 Core, chú thích và thực thể quản lý. Hibernate chết khi tôi cố gắng thêm các thư viện JAX-RS. Cảm ơn. – kmehta