在JBOSS AS 5.1.0 GA中没有发现PersistenceProvider异常



我正在尝试在Linux下使用eclipse在JBOSS AS 5.1.0 GA中部署产品。

之前在tomcat 6上执行成功。在部署时,我遇到了很多错误。我已经一个一个地解决了。

但是现在ClassNotFoundException由于PersistenceProvider引发。

我的产品环境是JPA 1.0。我用的是topplink -essentials.jar, topplink -essentials-agent.jar。(我的topplink版本是2.0)

请查看bug描述…

11:46:08,276 ERROR [AbstractKernelController] Error installing to Start: name=persistence.unit:unitName=#Entity state=Create java.lang.ClassNotFoundException: oracle.toplink.essentials.PersistenceProvider from BaseClassLoader@12bb617{VFSClassLoaderPolicy@bfa9d6{name=vfsfile:/opt/jboss-5.1.0.GA/server/default/deploy/iportman_gpl.war/ domain=ClassLoaderDomain@16877f8{name=DefaultDomain parentPolicy=BEFORE parent=org.jboss.bootstrap.NoAnnotationURLClassLoader@1837697} roots=[MemoryContextHandler@19344978[path= context=vfsmemory://3j011-idx41v-hfxjen4j-1-hfxjf9qd-2a real=vfsmemory://3j011-idx41v-hfxjen4j-1-hfxjf9qd-2a], FileHandler@22157425[path=iportman_gpl.war/WEB-INF/classes context=file:/opt/jboss-5.1.0.GA/server/default/deploy/ real=file:/opt/jboss-5.1.0.GA/server/default/deploy/iportman_gpl.war/WEB-INF/classes/]

这是唯一的错误显示,而我试图部署我的项目,这是一个WAR文件。

在执行时,jboss正在加载两个jar文件。(toplink-essentials.jar toplink-essentials-agent.jar)。(这也显示在错误控制台上)

DelegatingHandler@13596360[path=iportman_gpl.war/WEB-INF/lib/toplink-essentials.jar context=file:/opt/jboss-5.1.0.GA/server/default/deploy/ real=file:/opt/jboss-5.1.0.GA/server/default/deploy/iportman_gpl.war/WEB-INF/lib/toplink-essentials.jar] DelegatingHandler@32401617[path=iportman_gpl.war/WEB-INF/lib/toplink-essentials-agent.jar context=file:/opt/jboss-5.1.0.GA/server/default/deploy/ real=file:/opt/jboss-5.1.0.GA/server/default/deploy/iportman_gpl.war/WEB-INF/lib/toplink-essentials-agent.jar]

但是仍然显示错误。

当我在谷歌上搜索这个问题时,我看到了一些解释,比如…"可能是加载了两个PersistenceProvider类,或者jboss也加载了它们的JPA类"。

但是我已经设置了parent-first="false"在我的jboss-classloading.xml

下面的代码在my/WEB-INF/jboss-classloading.xml

<?xml version="1.0" encoding="UTF-8"?>
<classloading xmlns="urn:jboss:classloading:1.0"
export-all="NON_EMPTY"
import-all="true"
parent-first="false">
</classloading>

我还在我的/WEB-INF/classes/META-INF/persistence.xml

中声明了下面的代码
 <persistence-unit name="Entity" transaction-type="RESOURCE_LOCAL">
 <provider>oracle.toplink.essentials.PersistenceProvider</provider>
请帮我解决这个问题。我把同样的问题发在JBOSS社区寻求帮助,但是没有得到任何回应。

(有关persistence.xml的详细描述和所有jar的列表,请参阅Jboss社区链接)

所以,谁来帮我找出问题。任何建议都将对我大有帮助……提前感谢……

(抱歉我的英语不好)

当我在persistence.xml中删除<provider>标记之间的空白时,上述问题已经解决,如下所示。

<provider>oracle.toplink.essentials.PersistenceProvider</provider>

相关内容

  • 没有找到相关文章

最新更新