当我试图在Tomcat7上运行JSF应用程序时,它会抛出这个异常。
Caused by: java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/test
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl.getConnection(DriverManagerConnectionProviderImpl.java:192)
at org.hibernate.internal.AbstractSessionImpl$NonContextualJdbcConnectionAccess.obtainConnection(AbstractSessionImpl.java:278)
at org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.obtainConnection(LogicalConnectionImpl.java:297)
... 51 more
如果我在创建EntitiyManagerFactory之前添加这一行,它可以正常工作。
Class.forName("com.mysql.jdbc.Driver");
emf = Persistence.createEntityManagerFactory("manager1");
我的依赖是
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>4.1.2.Final</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.19</version>
</dependency>
此外,我的应用程序工作正常tomcat 6,没有添加Class.forName("com.mysql.jdbc.驱动程序");
有办法解决这个问题吗?谢谢
问题是驱动程序类在运行时不适用于您的应用程序,请将驱动程序jar放入/WEB-INF/lib
当我将一个工作中的. war从Tomcat 5.5和Java6迁移到Tomcat 7和Java7时,我遇到了同样的问题。我以前工作的. war开始抛出“java.sql.SQL异常:找不到适合jdbc: sqlserver的驱动程序...”。我可以通过简单地添加
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
就在调用之前
java.sql.DriverManager.getConnection("myUrl");
我知道文档中说jdbc4驱动程序不需要这个额外的调用,但这解决了我的问题。驱动程序jar(sqljdbc4.jar)位于我的WEB-INF/lib中。战争
第一个也是真正的解决方案:尝试使用Hibernate 4.1.0和4.1.3。最终的
我在HiberNate 4.1.2上遇到了这个问题,然后最终偶然发现了https://forum.hibernate.org/viewtopic.php?p=2454336.据我所知,Tomcat的后期版本(在修复DeviceManager的泄漏性质时)和HiberNate 4.1.2之间有点不兼容。
其他解决方法是显式调用驱动程序的注册,如Brad Whitaker的回答中所述,或者通过在$CATALINA_HOME/conf/server.xml中向监听器定义中添加driverManagerProt="false"
来确保JreMemoryLeakPrevenonListener没有保护DriverManager,即:
<Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" driverManagerProtection="false">
我已经把驱动程序jar放在模块\com\mysql\main中,在独立的\lib中,并创建了module.xml: 我的tandalone.xml是: 我想使用jpa所以我的persistence.xml是: 我还创造了一个豆子。xml并将mysql jar放入WEB-INF/lib中。 当我创建jpa facets并创建连接时,ping指向以下链接:jdbc:mysql://localhost:
我继承了一个项目(而且我绝对没有Java的经验),我相当困窘。 我们有一个运行redhat的服务器,我需要它来更新一个jar文件。所以我简单地复制了更新的文件,并重新启动了该文件的服务。然而,这个过程已经在我们的另一台服务器上工作了,我也这样做了,但是在这个服务器上,它会在日志文件中出现下面的内容。 jar文件被上传到网站根目录下的一个文件夹中,该jar文件夹中有一个lib文件夹,其中包含mysq
我试图在Mac OSX平台下用JPA(MySQL DB)和Tomcat 7.0.28创建一个示例Spring应用程序。我在应用程序的WEB-INF/lib文件夹下放置了mysql连接器-java-5.1.22 jar。但是当我启动应用程序时,我在标题中提到了错误。我试图将相同的jar也放在Tomcat lib文件夹下,但得到了相同的错误。 同样的应用程序,当我部署在Glassfish服务器与域/l
我一直在尝试为一个学校项目设置自己的rest api。我决定使用MySQL作为数据库,我想把它和我的Web服务连接起来,但显然我总是收到这样的错误信息:java。sql。SQLException:未找到适合jdbc的驱动程序:mysql://localhost:3306/userdatenbank 当我看到错误消息时,它还告诉我无法执行此代码: 我不知道为什么这种事一直发生。。。MySQL Jav
我是新的java和我试图使简单的身份验证界面。 1/MyDBConnection.java 2/Crud.java 在我的userDao中。JAVA
我知道这是一个老问题,但这里的情况不同。这似乎是JAVA 10或MySQLConnector/J 8.0.12 jar类的一个错误。 同样的项目(很多,不只是一个)在JAVA 8和MySQLConnector/J 5.1.39上运行良好,我以前使用过,但现在在我更新系统后就不工作了。 但是错误只出现在RowSet中。对于显式使用的DriverManager/Connection/ResultSet