2012年9月4日星期二

weblogic org.hibernate.QueryException: ClassNotFoundException: org.hibernate.hql.internal.ast.HqlToken

在WEB-INF目录下建一个weblogic.xml文件,文件中写入如下代码: 


<?xml version="1.0" encoding="UTF-8"?>    
  
<!DOCTYPE weblogic-web-app PUBLIC "-//BEA Systems, Inc.//DTD Web Application 8.1//EN" "http://www.bea.com/servers/wls810/dtd/weblogic810-web-jar.dtd">    
  
<weblogic-web-app>    
  
  <container-descriptor>    
  
    <prefer-web-inf-classes>true</prefer-web-inf-classes>    
  
  </container-descriptor>    
  
</weblogic-web-app>   

说明:prefer-web-inf-classes=true是WebLogic's classloader在有重名类时,优先加载Web应用中WEB-INF内的类
也可以
set PRE_CLASSPATH=D:\oracle\weblogic\wlserver_10.3\server\lib\antlr-2.7.7.jar
http://azurelover.blog.51cto.com/2990964/548988

cvc-complex-type.3.1: Value '2.0' of attribute 'version' of element 'entity-mappings' is not valid with respect to the corresponding attribute use. Attribute 'version' has a fixed value of '1.0'

Caused by: org.xml.sax.SAXException: zip:D:/oracle/weblogic/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_user/examsystem-showcase/eymnvq/war/WEB-INF/lib/_wl_cls_gen.jar!/META-INF/orm.xml [Location: Line: 3, C: 138]: org.xml.sax.SAXParseException: cvc-complex-type.3.1: Value '2.0' of attribute 'version' of element 'entity-mappings' is not valid with respect to the corresponding attribute use. Attribute 'version' has a fixed value of '1.0'.
        at org.apache.openjpa.lib.meta.XMLMetaDataParser.getException(XMLMetaDataParser.java:656)

 

将orm.xml
改成
<?xml version="1.0" encoding="UTF-8"?>
<entity-mappings version="1.0" xmlns="http://java.sun.com/xml/ns/persistence/orm" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/ormhttp://java.sun.com/xml/ns/persistence/orm_1_0.xsd">
</entity-mappings>

java.lang.NoSuchMethodError: javax.persistence.spi.PersistenceUnitInfo.getSharedCacheMode()Ljavax/persistence/SharedCacheMode

Caused By: java.lang.NoSuchMethodError: javax.persistence.spi.PersistenceUnitInfo.getSharedCacheMode()Ljavax/persistence/SharedCacheMode;
at org.hibernate.ejb.util.LogHelper.logPersistenceUnitInfo(LogHelper.java:39)
at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:516)
at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:73)
at weblogic.deployment.PersistenceUnitInfoImpl.createEntityManagerFactory(PersistenceUnitInfoImpl.java:352)
at weblogic.deployment.PersistenceUnitInfoImpl.createEntityManagerFactory(PersistenceUnitInfoImpl.java:332)

 

 

设置setDomainEnv
windows
@rem Enable JPA 2.0 functionality on WebLogic Server 
set PRE_CLASSPATH=D:\oracle\weblogic\modules\javax.persistence_1.1.0.0_2-0.jar;D:\oracle\weblogic\modules\com.oracle.jpa2support_1.0.0.0_2-1.jar

linux
PRE_CLASSPATH=/oracle/weblogic/modules/javax.persistence_1.0.0.0_2-0-0.jar;/oracle/weblogic/modules/com.oracle.jpa2support_1.0.0.0_2-0.jar
export PRE_CLASSPATH