简体   繁体   English

上下文初始化失败Spring MVC错误

[英]Context initialization failed Error with Spring MVC

I'm receiving an exception when I try to start my Spring MVC application with a deployed war file on a tomcat8 (java 1.8_65): 当我尝试使用tomcat8(java 1.8_65)上已部署的war文件启动Spring MVC应用程序时收到异常消息:

Context initialization failed Error creating bean with name 'entityManagerFactory' defined in biz.aspsol.solarix.init.configuration.WebAppConfig: Invocation of init method failed; 上下文初始化失败创建在biz.aspsol.solarix.init.configuration.WebAppConfig中定义的名称为'entityManagerFactory'的bean时出错:调用init方法失败; nested exception is java.lang.NoSuchMethodError: javax.persistence.JoinTable.indexes()[Ljavax/persistence/Index; 嵌套异常是java.lang.NoSuchMethodError:javax.persistence.JoinTable.indexes()[Ljavax / persistence / Index;

What is strange is that I can run the application without problems from my Intellij Idea however the deployment with the war file does not work. 奇怪的是,我可以从Intellij Idea上运行应用程序而不会出现问题,但是使用war文件进行的部署无法正常工作。

Here is my maven dependency tree: 这是我的Maven依赖树:

[INFO] +- org.springframework:spring-context:jar:4.2.2.RELEASE:compile
[INFO] |  \- org.springframework:spring-aop:jar:4.2.2.RELEASE:compile
[INFO] +- org.springframework:spring-core:jar:4.2.2.RELEASE:compile
[INFO] |  \- commons-logging:commons-logging:jar:1.2:compile
[INFO] +- org.springframework:spring-expression:jar:4.2.2.RELEASE:compile
[INFO] +- org.springframework:spring-webmvc:jar:4.2.2.RELEASE:compile
[INFO] +- org.springframework:spring-web:jar:4.2.2.RELEASE:compile
[INFO] +- org.springframework:spring-context-support:jar:4.2.2.RELEASE:compile
[INFO] +- org.springframework:spring-beans:jar:4.2.2.RELEASE:compile
[INFO] +- org.springframework.data:spring-data-jpa:jar:1.8.2.RELEASE:compile
[INFO] |  +- org.springframework.data:spring-data-commons:jar:1.10.2.RELEASE:compile
[INFO] |  +- org.springframework:spring-orm:jar:4.0.9.RELEASE:compile
[INFO] |  |  \- org.springframework:spring-jdbc:jar:4.0.9.RELEASE:compile
[INFO] |  +- org.springframework:spring-tx:jar:4.0.9.RELEASE:compile
[INFO] |  +- org.slf4j:slf4j-api:jar:1.7.12:compile
[INFO] |  \- org.slf4j:jcl-over-slf4j:jar:1.7.12:runtime
[INFO] +- org.springframework.security:spring-security-web:jar:4.0.2.RELEASE:compile
[INFO] |  +- aopalliance:aopalliance:jar:1.0:compile
[INFO] |  \- org.springframework.security:spring-security-core:jar:4.0.2.RELEASE:compile
[INFO] +- org.springframework.security:spring-security-config:jar:4.0.2.RELEASE:compile
[INFO] +- org.springframework.security:spring-security-taglibs:jar:4.0.2.RELEASE:compile
[INFO] |  \- org.springframework.security:spring-security-acl:jar:4.0.2.RELEASE:compile
[INFO] +- org.thymeleaf:thymeleaf-spring4:jar:2.1.4.RELEASE:compile
[INFO] +- org.thymeleaf:thymeleaf:jar:2.1.4.RELEASE:compile
[INFO] |  +- ognl:ognl:jar:3.0.8:compile
[INFO] |  \- org.unbescape:unbescape:jar:1.1.0.RELEASE:compile
[INFO] +- org.thymeleaf.extras:thymeleaf-extras-springsecurity4:jar:2.1.2.RELEASE:compile
[INFO] +- nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect:jar:1.3.0:compile
[INFO] |  \- org.codehaus.groovy:groovy:jar:2.4.3:compile
[INFO] +- org.hibernate:hibernate-core:jar:4.3.6.Final:compile
[INFO] |  +- org.jboss.logging:jboss-logging:jar:3.1.3.GA:compile
[INFO] |  +- org.jboss.logging:jboss-logging-annotations:jar:1.2.0.Beta1:compile
[INFO] |  +- org.jboss.spec.javax.transaction:jboss-transaction-api_1.2_spec:jar:1.0.0.Final:compile
[INFO] |  +- dom4j:dom4j:jar:1.6.1:compile
[INFO] |  |  \- xml-apis:xml-apis:jar:1.0.b2:compile
[INFO] |  +- org.hibernate.common:hibernate-commons-annotations:jar:4.0.5.Final:compile
[INFO] |  +- org.hibernate.javax.persistence:hibernate-jpa-2.1-api:jar:1.0.0.Final:compile
[INFO] |  +- antlr:antlr:jar:2.7.7:compile
[INFO] |  \- org.jboss:jandex:jar:1.1.0.Final:compile
[INFO] +- org.hibernate:hibernate-validator:jar:5.2.1.Final:compile
[INFO] |  \- com.fasterxml:classmate:jar:1.1.0:compile
[INFO] +- org.hibernate:hibernate-entitymanager:jar:5.0.3.Final:compile
[INFO] |  \- org.apache.geronimo.specs:geronimo-jta_1.1_spec:jar:1.1.1:compile
[INFO] +- org.aspectj:aspectjrt:jar:1.8.6:runtime (scope not updated to compile)
[INFO] +- org.aspectj:aspectjtools:jar:1.8.6:compile
[INFO] +- com.fasterxml.jackson.core:jackson-core:jar:2.6.1:compile
[INFO] +- com.fasterxml.jackson.core:jackson-databind:jar:2.6.1:compile
[INFO] +- com.fasterxml.jackson.core:jackson-annotations:jar:2.6.1:compile
[INFO] +- org.apache.velocity:velocity:jar:1.7:compile
[INFO] |  +- commons-collections:commons-collections:jar:3.2.1:compile
[INFO] |  \- commons-lang:commons-lang:jar:2.4:compile
[INFO] +- org.apache.velocity:velocity-tools:jar:2.0:compile
[INFO] |  +- commons-beanutils:commons-beanutils:jar:1.7.0:compile
[INFO] |  +- commons-digester:commons-digester:jar:1.8:compile
[INFO] |  +- commons-chain:commons-chain:jar:1.1:compile
[INFO] |  +- commons-validator:commons-validator:jar:1.3.1:compile
[INFO] |  +- oro:oro:jar:2.0.8:compile
[INFO] |  +- sslext:sslext:jar:1.2-0:compile
[INFO] |  +- org.apache.struts:struts-core:jar:1.3.8:compile
[INFO] |  +- org.apache.struts:struts-taglib:jar:1.3.8:compile
[INFO] |  \- org.apache.struts:struts-tiles:jar:1.3.8:compile
[INFO] +- org.slf4j:slf4j-log4j12:jar:1.7.12:compile
[INFO] |  \- log4j:log4j:jar:1.2.17:compile
[INFO] +- javax.validation:validation-api:jar:1.1.0.Final:compile
[INFO] +- javax.servlet:javax.servlet-api:jar:3.1.0:provided
[INFO] +- javax.mail:mail:jar:1.4.7:compile
[INFO] |  \- javax.activation:activation:jar:1.1:compile
[INFO] +- org.postgresql:postgresql:jar:9.4-1202-jdbc42:compile
[INFO] +- org.apache.commons:commons-dbcp2:jar:2.1.1:compile
[INFO] |  \- org.apache.commons:commons-pool2:jar:2.4.2:compile
[INFO] +- commons-io:commons-io:jar:2.4:compile
[INFO] +- net.sf.ehcache:ehcache:jar:2.10.0:compile
[INFO] +- org.javassist:javassist:jar:3.20.0-GA:compile
[INFO] +- com.braintreepayments.gateway:braintree-java:jar:2.49.0:compile
[INFO] +- org.xhtmlrenderer:flying-saucer-pdf-itext5:jar:9.0.8:compile
[INFO] |  \- org.xhtmlrenderer:flying-saucer-core:jar:9.0.8:compile
[INFO] +- org.apache.pdfbox:pdfbox:jar:1.8.10:compile
[INFO] |  +- org.apache.pdfbox:fontbox:jar:1.8.10:compile
[INFO] |  \- org.apache.pdfbox:jempbox:jar:1.8.10:compile
[INFO] +- org.bouncycastle:bcprov-jdk15on:jar:1.52:compile
[INFO] +- org.bouncycastle:bcmail-jdk15on:jar:1.52:compile
[INFO] |  \- org.bouncycastle:bcpkix-jdk15on:jar:1.52:compile
[INFO] +- org.json:json:jar:20150729:compile
[INFO] +- com.google.maps:google-maps-services:jar:0.1.8:compile
[INFO] |  +- com.squareup.okhttp:okhttp:jar:2.0.0:compile
[INFO] |  |  \- com.squareup.okio:okio:jar:1.0.0:compile
[INFO] |  +- com.google.code.gson:gson:jar:2.3.1:compile
[INFO] |  \- joda-time:joda-time:jar:2.4:compile
[INFO] +- org.apache.poi:poi:jar:3.13:compile
[INFO] |  \- commons-codec:commons-codec:jar:1.9:compile
[INFO] \- com.itextpdf:itextpdf:jar:5.5.7:compile

Most likely you have an older version of JPA api deployed in your tomcat. 您很可能已在雄猫中部署了较旧版本的JPA api。 That is why you see no exceptions when deploying from IntelliJ. 这就是为什么从IntelliJ部署时看不到异常的原因。

indexes attribute was introduced to @JoinTable in JPA 2.1. indexes属性是在JPA 2.1中引入@JoinTable If you use older version of JPA you'll get the exact same exception at runtime. 如果您使用旧版的JPA,则会在运行时得到完全相同的异常。

Check that there are no other JPA api jars in the $CATALINA_BASE/lib folder 检查$CATALINA_BASE/lib文件夹中是否没有其他JPA api jar

I found the solution for the problem. 我找到了解决问题的方法。 I have included the hibernate-jpa-2.1-api dependency into my pom.xml file. 我已经将hibernate-jpa-2.1-api依赖项包含到我的pom.xml文件中。

<dependency>
    <groupId>org.hibernate.javax.persistence</groupId>
    <artifactId>hibernate-jpa-2.1-api</artifactId>
    <version>1.0.0.Final</version>
</dependency>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM