在weblogic 12.1.1中部署jsf jpa Web应用程序

时间:2017-11-15 15:49:41

标签: spring jsf jpa weblogic weblogic12c

我正在使用Maven,JSF 2.2,JSTL 1.2.1,JPA 2.1,Spring 4.2.9,Hibernate-jpa-api-2.1开发Web应用程序 我可以在Tomcat中部署我的应用程序并运行它没有问题,但我也希望在weblogic 12.1.1中部署,但我在启动我的应用服务器时遇到了一些问题:

  

嵌套异常是java.lang.NoSuchMethodError:javax.persistance.Table.indexes()[Ljavax / persistence / Index;   ....   org.springframework.beans.factory.BeanCreationException:类路径资源[jpaConfig.xml]中定义的名为'myEmf'的创建者bean错误   ....   错误javax.entreprise.resource.webcontainer.jsf.application

我在部署的战争中创建了一个weblogic.xml,如下所示:

<prefer-application-packages> 
   <package-name>javax.faces.*</package-name> 
   <package-name>com.sun.faces.*</package-name> 
   <package-name>com.bea.faces.*</package-name> 
   </prefer-application-packages> 
 
   <prefer-application-resources> 
   <resource-name>javax.faces.*</resource-name> 
   <resource-name>com.sun.faces.*</resource-name> 
   <resource-name>com.bea.faces.*</resource-name> 
 
<resource-name>META-INF/services/javax.servlet.ServletContainerInitializer</resource-name>
</prefer-application-resources>

1 个答案:

答案 0 :(得分:0)

错误消息&#34; java.lang.NoSuchMethodError&#34;表示与Weblogic的JPA 2.0库发生库冲突。由于您要为此打包自己的库,请尝试添加&#34; javax.persistence。*&#34;到weblogic.xml

选项2:将JPA 2.1支持添加到weblogic类路径

在您的域/ bin / setDomainEnv(Windows的.cmd,unix的.sh)中添加PRE_CLASSPATH变量。在Windows系统上,这将是这样的:

set PRE_CLASSPATH=C:/weblogic_12130/oracle_common/modules/javax.‌​persistence_2.1.jar;‌​C:/weblogic_12130/wl‌​server/modules/com.o‌​racle.weblogic.jpa21‌​support_1.0.0.0_2-1.‌​jar