Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Weblogic 12c和Spring数据JPA部署JPA 2.1冲突_Java_Hibernate_Spring Data_Weblogic12c_Jpa 2.1 - Fatal编程技术网

Java Weblogic 12c和Spring数据JPA部署JPA 2.1冲突

Java Weblogic 12c和Spring数据JPA部署JPA 2.1冲突,java,hibernate,spring-data,weblogic12c,jpa-2.1,Java,Hibernate,Spring Data,Weblogic12c,Jpa 2.1,我正在尝试将一个SpringDataJPA、ApacheCXF集成项目部署到OracleWebLogic12c(12.1.3),该项目具有以下依赖项和异常 jdk:1.7 weblogic:12c(12.1.3) spring.version>4.1.0.0发布 spring.data.version>1.7.2.0版本发布 hibernate.version>4.3.11.Final 到目前为止,我做到了 试图从hibernate entitymanager中删除JPA 2.1 jar(

我正在尝试将一个SpringDataJPA、ApacheCXF集成项目部署到OracleWebLogic12c(12.1.3),该项目具有以下依赖项和异常

  • jdk:1.7
  • weblogic:12c(12.1.3)
  • spring.version>4.1.0.0发布
  • spring.data.version>1.7.2.0版本发布
  • hibernate.version>4.3.11.Final
到目前为止,我做到了

  • 试图从hibernate entitymanager中删除JPA 2.1 jar(无效,引发另一个异常)
  • 试图找出spring数据jpa、spring和hibernate依赖项检查(未成功)
  • 尝试为首选包javax.persistence.*提供weblogic-application.xml(不改变任何内容)
  • 部署到12.2.1,它确实可以工作
我期待你的宝贵帮助,谢谢

例外情况

<Warning> <HTTP> <BEA-101162> <User defined listener org.springframework.web.context.ContextLoaderListener failed: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in ServletContext resource [/WEB-INF/app-jpa-config.xml]: Invocation of init method failed; nested exception is java.lang.NoSuchMethodError: javax.persistence.JoinColumn.foreignKey()Ljavax/persistence/ForeignKey;org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in ServletContext resource [/WEB-INF/app-jpa-config.xml]: Invocation of init method failed; nested exception is java.lang.NoSuchMethodError: javax.persistence.JoinColumn.foreignKey()Ljavax/persistence/ForeignKey;
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1568)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:540)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:302)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:229)
Truncated. see log file for complete stacktrace 
Caused By:java.lang.NoSuchMethodError: javax.persistence.JoinColumn.foreignKey()Ljavax/persistence/ForeignKey;
at org.hibernate.cfg.AnnotationBinder.bindManyToOne(AnnotationBinder.java:2884)
at org.hibernate.cfg.AnnotationBinder.bindOneToOne(AnnotationBinder.java:3051)
at org.hibernate.cfg.AnnotationBinder.processElementAnnotations(AnnotationBinder.java:1839)
at org.hibernate.cfg.AnnotationBinder.processIdPropertiesIfNotAlready(AnnotationBinder.java:963)
at org.hibernate.cfg.AnnotationBinder.bindClass(AnnotationBinder.java:796)
Truncated. see log file for complete stacktrace

log4j
log4j
${log4j.version}
回写
回归经典
1.1.2
org.slf4j
slf4j api
org.slf4j
slf4j api
1.7.7
org.springframework
弹簧试验
${spring.version}
朱尼特
朱尼特
${junit.version}
测试
net.sf.推土机
推土机
5.5.1
com.oracle
ojdbc6
11.2.0
JoinColumn.foreignKey()是在JPA 2.1中引入的,它是在Hibernate 4.3中实现的,因此WebLogic可能正在使用它自己的JPA JAR,而JPA JAR的版本较旧。 您的代码在Weblogic 12.2.1上运行时没有问题这一事实将证实这一点。
JPA2.1是JavaEE7标准的一部分,它受WebLogic12.2.1的支持,根据

在WebLogic上设置首选软件包时,您的做法是否正确。 试着通过这个
将JPA2.1库添加到WebLogic服务器类路径

谢谢,成功了。但我仍然不明白为什么weblogic忽略了weblogic-application.xml提供的首选包定义。另外,jpa2.1.jar位于应用程序的lib文件夹下。@sabri您是否设法解决了JPA和weblog 12.1的所有依赖性问题?@Chrispie我们已将所有版本升级到;spring.version>4.2.8.RELEASE,spring.data.version>1.10.5.RELEASE,hibernate.version>4.3.11.Final,hibernate.validator.version>5.1.2.Final,cxf.version>3.1.6。现在它开始工作了。以及JDK1.8.0_65。weblogic.xml没有任何额外的首选包声明。
<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <spring.version>4.1.0.RELEASE</spring.version>
    <spring.data.version>1.7.2.RELEASE</spring.data.version>
    <hibernate.version>4.3.11.Final</hibernate.version>
    <hibernate.validator.version>5.1.2.Final</hibernate.validator.version>
    <cxf.version>3.0.0</cxf.version>
    <log4j.version>1.2.17</log4j.version>
    <junit.version>4.12</junit.version>
</properties>
<dependencies>
    <dependency>
        <groupId>org.springframework.data</groupId>
        <artifactId>spring-data-jpa</artifactId>
        <version>${spring.data.version}</version>
        <exclusions>
            <exclusion>
                <artifactId>spring-beans</artifactId>
                <groupId>org.springframework</groupId>
            </exclusion>
            <exclusion>
                <artifactId>spring-core</artifactId>
                <groupId>org.springframework</groupId>
            </exclusion>
            <exclusion>
                <artifactId>spring-aop</artifactId>
                <groupId>org.springframework</groupId>
            </exclusion>
            <exclusion>
                <artifactId>spring-context</artifactId>
                <groupId>org.springframework</groupId>
            </exclusion>
            <exclusion>
                <artifactId>spring-tx</artifactId>
                <groupId>org.springframework</groupId>
            </exclusion>
            <exclusion>
                <artifactId>spring-orm</artifactId>
                <groupId>org.springframework</groupId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>${spring.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-orm</artifactId>
        <version>${spring.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-tx</artifactId>
        <version>${spring.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-framework-bom</artifactId>
        <version>${spring.version}</version>
        <type>pom</type>
        <scope>import</scope>
    </dependency>
    <!-- Hibernate -->
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-entitymanager</artifactId>
        <version>${hibernate.version}</version>
    </dependency>
    <dependency>
        <groupId>org.apache.cxf</groupId>
        <artifactId>cxf-rt-transports-http</artifactId>
        <version>${cxf.version}</version>
        <scope>compile</scope>
    </dependency>
    <dependency>
        <groupId>org.apache.cxf</groupId>
        <artifactId>cxf-rt-frontend-jaxws</artifactId>
        <version>${cxf.version}</version>
        <scope>compile</scope>
    </dependency>


    <!-- LOG -->
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>${log4j.version}</version>
    </dependency>
    <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
        <version>1.1.2</version>
        <exclusions>
            <exclusion>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>1.7.7</version>
    </dependency>
    <!-- TEST -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-test</artifactId>
        <version>${spring.version}</version>
    </dependency>

    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>${junit.version}</version>
        <scope>test</scope>
    </dependency>

    <!-- Object2Object mapping -->
    <dependency>
        <groupId>net.sf.dozer</groupId>
        <artifactId>dozer</artifactId>
        <version>5.5.1</version>
    </dependency>


    <!-- ORACLE -->
    <dependency>
        <groupId>com.oracle</groupId>
        <artifactId>ojdbc6</artifactId>
        <version>11.2.0</version>
    </dependency>
</dependencies>