2

与ASM 3.1 和 HIbernate 和 JAX-RS的兼容性问题类似的问题 似乎已经击中了我:我的基于 Jersey / JPA 的休息应用程序也使用 jersey-moxy(泽西的 1.15 版)引发错误:

Caused by: java.lang.NoSuchMethodError: org.eclipse.persistence.internal.libraries.asm.ClassReader.accept(Lorg/eclipse/persistence/internal/libraries/asm/ClassVisitor;[Lorg/eclipse/persistence/internal/libraries/asm/Attribute;Z)V

我的 Maven 依赖列表显示:

  • asm-3.1.jar
  • jersey-moxy-1.15.jar
  • org.eclipse.persistence.asm-2.3.2.jar

如果我从依赖项中删除 jersey-moxy 1.15,问题就会消失,但是我不能使用额外的 MOXy 功能。

如果排除 org.eclipse.persistence.asm 依赖项,我得到:

Internal Exception: java.lang.SecurityException: class "org.eclipse.persistence.sessions.factories.SessionManager"'s signer information does not match signer information of other classes in the same package

有什么办法可以解决这种情况?

4

1 回答 1

1

此问题与 ASM 3.1 和 HIbernate 和 JAX-RS 的兼容性问题不同EclipseLink专门提供了一个重新打包的 ASM 版本来专门避免这个问题。

我不熟悉jersey-moxy-1.15.jar(你能提供关于这个的更多信息吗?)。MOXy 需要以下捆绑包:

  • org.eclipse.persistence.moxy_2.4.1.v20121003-ad44345.jar
  • org.eclipse.persistence.core_2.4.1.v20121003-ad44345.jar
  • org.eclipse.persistence.asm_3.3.1.v201206041142.jar

如果您使用 MOXy 进行 JSON 绑定(请参阅http://blog.bdoughan.com/2012/05/moxy-as-your-jax-rs-json-provider.html),那么您还需要以下捆绑包:

  • org.eclipse.persistence.antlr_3.2.0.v201206041011.jar
于 2012-12-23T13:42:45.313 回答