- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我有一个 Play Framework 应用程序,并且我正在使用 Hibernate 4.2.5.Final(通过 Maven 依赖项管理器检索)。我决定升级到 Hibernate 4.3.0.Final,成功重新编译我的应用程序,然后运行它。
我得到了下面的异常,但无法弄清楚原因。我降级回 4.2.5 并没有出现这个问题。然后,我尝试在 4.2.5 之后的每个最终版本中升级 Hibernate。也就是说,我从 4.2.5.Final 到 4.2.6.Final,到 4.2.7.Final,到 4.2.8.Final,然后到 4.3.Final。在我升级到 4.3.0.Final 之前不会出现此问题。
Java 版本信息
java version "1.7.0_45"
Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)
还有异常(exception):
play.api.UnexpectedException: Unexpected exception[NoSuchMethodError: javax.persistence.Table.indexes()[Ljavax/persistence/Index;]
at play.core.ReloadableApplication$$anonfun$get$1$$anonfun$apply$1$$anonfun$1.apply(ApplicationProvider.scala:152) ~[play_2.10.jar:2.2.1]
at play.core.ReloadableApplication$$anonfun$get$1$$anonfun$apply$1$$anonfun$1.apply(ApplicationProvider.scala:112) ~[play_2.10.jar:2.2.1]
at scala.Option.map(Option.scala:145) ~[scala-library.jar:na]
at play.core.ReloadableApplication$$anonfun$get$1$$anonfun$apply$1.apply(ApplicationProvider.scala:112) ~[play_2.10.jar:2.2.1]
at play.core.ReloadableApplication$$anonfun$get$1$$anonfun$apply$1.apply(ApplicationProvider.scala:110) ~[play_2.10.jar:2.2.1]
at scala.util.Success.flatMap(Try.scala:200) ~[scala-library.jar:na]
Caused by: java.lang.NoSuchMethodError: javax.persistence.Table.indexes()[Ljavax/persistence/Index;
at org.hibernate.cfg.annotations.EntityBinder.processComplementaryTableDefinitions(EntityBinder.java:936) ~[hibernate-core-4.3.0.Final.jar:4.3.0.Final]
at org.hibernate.cfg.AnnotationBinder.bindClass(AnnotationBinder.java:781) ~[hibernate-core-4.3.0.Final.jar:4.3.0.Final]
at org.hibernate.cfg.Configuration$MetadataSourceQueue.processAnnotatedClassesQueue(Configuration.java:3762) ~[hibernate-core-4.3.0.Final.jar:4.3.0.Final]
at org.hibernate.cfg.Configuration$MetadataSourceQueue.processMetadata(Configuration.java:3716) ~[hibernate-core-4.3.0.Final.jar:4.3.0.Final]
at org.hibernate.cfg.Configuration.secondPassCompile(Configuration.java:1410) ~[hibernate-core-4.3.0.Final.jar:4.3.0.Final]
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1844) ~[hibernate-core-4.3.0.Final.jar:4.3.0.Final]
最佳答案
我遇到了同样的问题。这里的问题是 play-java-jpa 工件(build.sbt 文件中的 javaJpa 键)依赖于不同版本的规范 (version 2.0 -> "org.hibernate.javax.persistence"% "hibernate- jpa-2.0-api"% "1.0.1.Final")
.
当您添加 hibernate-entitymanager 4.3 时,这为实体管理器带来了更新的规范 (2.1) 和不同的工厂提供程序。基本上你最终在类路径中都有两个 jar 作为传递依赖。
像这样编辑您的 build.sbt 文件,它将暂时解决您的问题,直到 play 发布新版本的 jpa 插件以用于更新的 api 依赖项。
libraryDependencies ++= Seq(
javaJdbc,
javaJpa.exclude("org.hibernate.javax.persistence", "hibernate-jpa-2.0-api"),
"org.hibernate" % "hibernate-entitymanager" % "4.3.0.Final"
)
这适用于 play 2.2.x
。在以前的版本中,构建文件存在一些差异。
关于java - javax.persistence.Table.indexes()[Ljavax/persistence/Index 中的 NoSuchMethodError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20734540/
这个问题已经有答案了: How to properly install and configure JSF libraries via Maven? (1 个回答) 已关闭 6 年前。 我正在使用wi
这是我的第二个。无法运行 Tomcat 服务器(我不知道为什么)但我有一个奇怪的错误(由)引起。 这是我的 pom.xml 代码: 4.0.0 ElPsyCongroo E
在 Spring-MVC 应用程序中,我尝试使用 validator 。我将注释 @NotEmpty 和 @Email 放在我的实体之一上,当我尝试验证它时,出现此错误: java.lang.NoSu
在 Weblogic 10.3.6 中部署我的应用程序时,我在服务器上遇到以下异常。有什么想法吗? weblogic.management.DeploymentException: at we
我正在使用 Hibernate 4、Spring 3 和 JSF 2.0 以及 Weblogic 10.3.6我在 DAO 类中有以下内容 CriteriaBuilder cb = e
我在 lib 目录中有persistence-api-1.0.2,hibernate-jpa-2.0-api-1.0.1.Final 和其他相关的jar。但是,当我部署war文件时,出现以下错误 ne
我正在 JSF 中开发一个应用程序。错误是: Caused by: java.lang.NoSuchMethodError: javax.persistence.Table.indexes()[Lja
我已经编写了一个自定义 RequestWrapper 来将 cookie 添加到请求中 @Override public Cookie[] getCookies() {
在 tomcat 8.0.33 中使用 jSTL 时出现错误 java.lang.NoSuchMethodError: javax.el.ExpressionFactory.getStreamEL
我正在使用 tomcat 7.0.82 和 JDK-“1.7.0_80”。当我将 jar com.ibm.ws.ejb.thinclient_7.0.0.jar 复制到 tomcat/lib 目录时,
我在 stackoverflow 上浏览了几篇关于同一问题的帖子;但没有解决问题。在一篇帖子中提到,“类路径上可能有 2 个不同版本的 hibernate-jpa-api。”因此,我检查了项目依赖关系
我正在学习在 Tomcat 上通过 RestEasy 使用 Spring、JPA 和 Hibernate。我已经尝试了一切,包括使用 JPA 2,但没有帮助。 这是堆栈跟踪: ---------- N
我有一个 Play Framework 应用程序,并且我使用 Hibernate 4.2.5.Final(通过 Maven 依赖项管理器检索)。我决定升级到 Hibernate 4.3.0.Final
我正在尝试使用 android studio 中的 Smack 库构建一个带有 XMPP 协议(protocol)的聊天应用程序。通过使用 Smack 版本 3.1.0,我可以轻松连接到 Open F
当我使用 eclipse tomcat 运行我的项目时,但是当我尝试使用我的 tomcat pc 时出现错误。如果有人可以帮助我,那将是友好的! org.springframework.beans.f
我正在升级 jpa、hibernate、spring 和 jdk 以启用 JPA 2.1 的新功能。但是我收到以下错误: java.lang.NoSuchMethodError: javax.pers
我有一个 Play Framework 应用程序,并且我正在使用 Hibernate 4.2.5.Final(通过 Maven 依赖项管理器检索)。我决定升级到 Hibernate 4.3.0.Fin
我正在使用 jboss 4.2.3 和 Metro。我部署了一个 EJB 3.0 Web 服务,没有出现错误,但是当我尝试调用它的 wsdl 时,它会抛出:java.lang.NoClassDefFo
我是 Websphere 应用程序服务器的新手。请让我知道我哪里做错了。我收到 java.lang.NoSuchMethodError: javax.persistence.JoinColumn.fo
我遇到了这个奇怪的错误,我不知道是什么原因造成的...完整的 LogCat: 06-24 13:15:07.878: W/dalvikvm(20470): VFY: unable to find cl
我是一名优秀的程序员,十分优秀!