2015-05-11 3 views
1

Я не уверен, почему я не могу подключиться к моей базе данных. Я использую JNDI и maven для обработки зависимостей. В моем context.xml в моей папке сервера в затмение выглядит следующим образом:Не удалось получить соединение JDBC; nested exception is java.sql.SQLException: Не удается загрузить класс драйвера JDBC 'org.hsql.jdbcDriver'

Could not get JDBC Connection; nested exception is java.sql.SQLException: 
Cannot load JDBC driver class 'org.hsql.jdbcDriver' 

context.xml

<Context> 

    <!-- Default set of monitored resources. If one of these changes, the --> 
    <!-- web application will be reloaded. --> 
    <WatchedResource>WEB-INF/web.xml</WatchedResource> 
    <WatchedResource>${catalina.base}/conf/web.xml</WatchedResource> 

    <Resource name="jdbc/Spring_Tutorial" auth="Container" 
     type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="10000" 
     username="root" driverClassName="org.hsql.jdbcDriver" 
     url="jdbc:mysql://localhost:3306/Spring_Tutorial" /> 

    <!-- Uncomment this to disable session persistence across Tomcat restarts --> 
    <!-- <Manager pathname="" /> --> 

    <!-- Uncomment this to enable Comet connection tacking (provides events 
     on session expiration as well as webapp lifecycle) --> 
    <!-- <Valve className="org.apache.catalina.valves.CometConnectionManagerValve" 
     /> --> 
</Context> 

этот класс обрабатывает ошибку, если он не может подключиться:

@ControllerAdvice 
public class DatabaseErrorHandler { 

    @ExceptionHandler(DataAccessException.class) 
    public String handleDatabaseException(DataAccessException ex) { 

     System.out.println("Error connecting to Database: "+ex); 

     return "error"; 
    } 

} 

pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.spring.practice</groupId> 
    <artifactId>offers</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <packaging>war</packaging> 
    <build> 
    <sourceDirectory>src</sourceDirectory> 
    <plugins> 
     <plugin> 
     <artifactId>maven-compiler-plugin</artifactId> 
     <version>3.1</version> 
     <configuration> 
      <source>1.8</source> 
      <target>1.8</target> 
     </configuration> 
     </plugin> 
     <plugin> 
     <artifactId>maven-war-plugin</artifactId> 
     <version>2.4</version> 
     <configuration> 
      <warSourceDirectory>WebContent</warSourceDirectory> 
      <failOnMissingWebXml>false</failOnMissingWebXml> 
     </configuration> 
     </plugin> 
    </plugins> 
    </build> 
    <dependencies> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-context</artifactId> 
     <version>4.1.6.RELEASE</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-beans</artifactId> 
     <version>4.1.6.RELEASE</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-core</artifactId> 
     <version>4.1.6.RELEASE</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-jdbc</artifactId> 
     <version>4.1.6.RELEASE</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-webmvc</artifactId> 
     <version>4.1.6.RELEASE</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-web</artifactId> 
     <version>4.1.6.RELEASE</version> 
    </dependency> 
    <dependency> 
     <groupId>mysql</groupId> 
     <artifactId>mysql-connector-java</artifactId> 
     <version>5.1.35</version> 
    </dependency> 
    <dependency> 
     <groupId>javax.validation</groupId> 
     <artifactId>validation-api</artifactId> 
     <version>1.1.0.Final</version> 
    </dependency> 
    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate</artifactId> 
     <version>3.5.4-Final</version> 
     <type>pom</type> 
    </dependency> 
    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-validator</artifactId> 
     <version>5.1.3.Final</version> 
    </dependency> 
    <dependency> 
     <groupId>commons-dbcp</groupId> 
     <artifactId>commons-dbcp</artifactId> 
     <version>1.4</version> 
    </dependency> 
    <dependency> 
     <groupId>hsqldb</groupId> 
     <artifactId>hsqldb</artifactId> 
     <version>1.8.0.10</version> 
    </dependency> 
    </dependencies> 
</project> 

web.xm л

<description>Database</description> 
    <resource-ref> 
    <description>DB Connection</description> 
    <res-ref-name>jdbc/Spring_Tutorial</res-ref-name> 
    <res-type>javax.sql.DataSource</res-type> 
    <res-auth>Container</res-auth> 
    </resource-ref> 

Я добавил файл HSQLDB банку, но я действительно не думаю, что мне нужно это

<dependency> 
     <groupId>hsqldb</groupId> 
     <artifactId>hsqldb</artifactId> 
     <version>1.8.0.10</version> 
    </dependency> 

С моей понимаю, что просто нужно MySQL-разъем-Java зависимость

<dependency> 
    <groupId>mysql</groupId> 
    <artifactId>mysql-connector-java</artifactId> 
    <version>5.1.35</version> 
</dependency> 

Имя моей базы данных - Spring_Tutorial, и я использую mySQL Workbench.

Я что-то скрываю здесь?

ответ

2

Вы используете URL MySQL с водителем HSQL:

driverClassName="org.hsql.jdbcDriver" 
url="jdbc:mysql://localhost:3306/Spring_Tutorial" /> 

Вы должны использовать драйвер MySQL вместо:

driverClassName="com.mysql.jdbc.Driver" 
+0

Я знал, что я слепо что-то отсутствует. Вырезать и вставить ошибку для сайта JNDI ... Приветствую вас – Drew1208

Смежные вопросы