簡體   English   中英

使用Hibernate的問題 - 找不到JDBC驅動程序類:com.mysql.jdbc.Driver

[英]Problems using Hibernate - JDBC Driver class not found: com.mysql.jdbc.Driver

使用hibernate連接MySQLDB並添加數據時,我有一個非常奇怪的問題。

這是我得到的錯誤:

找不到JDBC驅動程序類:com.mysql.jdbc.Driver

這就是我的hibernate.cfg.xml的樣子

<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory>
        <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/fpa-webapp</property>
        <property name="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</property>
        <property name="hibernate.connection.username">root</property>
        <property name="hibernate.connection.password"></property>
        <property name="hbm2ddl.auto">update</property>
        <property name="hibernate.show_sql">true</property>
        <property name="hibernate.format_sql">true</property>
    </session-factory>
</hibernate-configuration>

我不明白為什么當我導航到應用程序時我看到500錯誤; 它說找不到司機。

HTTP錯誤500

訪問/ fpa-webapp /時出現問題。 原因:

 Exception constructing service 'ValueEncoderSource': Error invoking 

服務構建器方法org.apache.tapestry5.services.TapestryModule.buildValueEncoderSource(Map,InvalidationEventHub)(在TapestryModule.java:2287)(對於服務'ValueEncoderSource'):調用服務貢獻方法org.apache.tapestry5.hibernate.HibernateModule時出錯。 contributionValueEncoderSource(MappedConfiguration,boolean,HibernateSessionSource,Session,TypeCoercer,PropertyAccess,LoggerSource):異常構造服務'HibernateSessionSource':錯誤調用服務構建器方法org.apache.tapestry5.hibernate.HibernateCoreModule.buildHibernateSessionSource(Logger,List,RegistryShutdownHub)(在HibernateCoreModule處) .java:123)(對於服務'HibernateSessionSource'):找不到JDBC驅動程序類:com.mysql.jdbc.Driver

我確定司機在班級路徑上。

可能是什么?

您的驅動程序不在類路徑中。

有兩種方法可以確保它在類路徑上:

  1. 將其添加到全局lib目錄中。 對於Tomcat,這是TOMCAT_HOME/lib
  2. 把它包括在戰爭中。

這取決於您使用的要求。

如果您要使用Tomcat來管理連接池,則需要將其添加到TOMCAT_HOME/lib ,而不是直接在hibernate配置中定義數據源,您將通過jndi引用它。

唯一合理的解釋是Driver類不在CLASSPATH上。

檢查以確保mysql-connector-java(或其他相關的)jar確實位於將加載它​​的位置。 如果您是100%肯定的話,可能有助於提供有關您如何知道正在加載類的更多信息,以便我們可以確定其他可能的原因。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM