我是EE的新手,我正在使用Weblogic 12c上的应用程序。数据源在管理控制台中测试正常。当EJB尝试访问它时,它会抛出此ClassNotFoundException。我做了三个小时的研究,我知道问题是有些jar不在服务器的类路径中,但我无法弄清楚哪一个!!!我使用默认的EclipseLink持久性提供程序并使用MySQL驱动程序。这些都与Weblogic打包在一起(根据Oracle文档),所以我不必将它们显式添加到类路径中。此外,添加它们并不起作用。还有其他想法吗?
这是persistence.xml:
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
<persistence-unit name="YLE_PU" transaction-type="JTA">
<jta-data-source>YLEDataSource</jta-data-source>
<class>com.yle.studentmodule.entity.Address</class>
<class>com.yle.studentmodule.entity.Contact</class>
<class>com.yle.studentmodule.entity.Semester</class>
<class>com.yle.studentmodule.entity.Student</class>
<exclude-unlisted-classes>true</exclude-unlisted-classes>
<properties>
<property name="eclipselink.cache.type.default" value="NONE"/>
</properties>
</persistence-unit>
&#34;除了Oracle Thin Driver之外,mySQL 5.0.x(mysql-connector-java-commercial-5.0.x-bin.jar)JDBC驱动程序随WebLogic Server一起安装。
此驱动程序安装在WL_HOME \ server \ lib文件夹(其中WL_HOME是安装了WebLogic Server的文件夹)中,并附带weblogic.jar。 weblogic.jar中的清单列出了此文件,以便在加载weblogic.jar时(服务器启动时)加载它。因此,您无需将此JDBC驱动程序添加到CLASSPATH。&#34;
谢谢!
答案 0 :(得分:0)
在其他情况下, 检查你的jdk版本和位
我解决了改为64位jdk
答案 1 :(得分:0)
还有另一种情况,服务器上有多个类文件(jar)可用,这造成了歧义。这种情况也会产生相同的错误。 我的建议是在服务器上仅保留一个jar(与JDBC相关)。
我在使用Oracle作为DBMS的weblogic 12c中解决了相同的问题。
就我而言,我在jdk/jre/lib/ext
文件夹中有Oracle驱动程序的.jar文件,在weblogic
文件夹中也有另一个文件。从JDK文件夹中删除驱动程序解决了我的问题。