我在GlassFish上部署了一个j2ee应用程序。我在GlassFish的lib目录中有mysql jars。我正在尝试使用JPA,我的持久性文件是:
<persistence-unit name="teamPU"
transaction-type="RESOURCE_LOCAL">
<provider>
oracle.toplink.essentials.PersistenceProvider
</provider>
<class>com.team.dao.Roles</class>
<properties>
<property name="toplink.jdbc.driver"
value="com.mysql.jdbc.Driver" />
<property name="toplink.jdbc.url"
value="jdbc:mysql://localhost:3306/test" />
<property name="toplink.jdbc.user" value="root" />
<property name="toplink.ddl-generation"
value="create-tables" />
</properties>
</persistence-unit>我在lib中也有toplink-essentials* jars。当我调用dao.find*时,它抛出No suitable驱动程序。我不是把所有的罐子都放在该放的地方了吗?
发布于 2009-11-20 10:16:01
我在使用JPA/toplink的Java web应用程序(Servlets/JSP)中遇到了这个问题。它在我的开发系统上运行良好,NetBeans部署到Tomcat。当我将web应用程序部署到生产服务器上的Tomcat时,我会得到"java.sql.SQLException:没有合适的驱动程序“,并且我在调用堆栈中看到toplink包。有趣的是,我还在我的web应用程序中使用了直接JDBC,这在生产服务器上运行得很好。
修复方法是将适当的jdbc驱动程序.jar复制到jre6libext文件夹。
很想知道为什么在toplink的情况下,将jdbc .jar放到web应用程序的.war文件中是不够的……
https://stackoverflow.com/questions/1676033
复制相似问题