2017-02-23 10 views
0

Если я использую плагин maven, и через это все работает хорошо, но как я могу запустить его без плагина Maven, используя Run configuration и настроя Tomcat оттуда. Если бы я сделать некоторые появляется следующее сообщение об ошибке:java.sql.SQLException: Не найдено подходящего драйвера для

java.sql.SQLException: No suitable driver found for jdbc:hsqldb:mem:db1 

Используя плагин все работает: Maven Projects -> tomcat7 -> tomcat7: запустить

enter image description here

Но проблема occours когда я пытаюсь запустить тот же проект с помощью следующей конфигурации запуска, как это:

enter image description here

Ошибка происходит от отмеченной линии:

enter image description here

Проблема, вероятно, связано с конфигурацией выполнения?

ответ

1

Java требует, чтобы драйвер базы данных подключался к любой базе данных. В зависимости от используемой базы данных просто включите зависимость вашего драйвера в проект и это будет работать.

Вы можете спросить, как произошло SQLException без какой-либо зависимости драйвера/базы данных. Это исключение Java, и вы найдете более подробную информацию здесь

https://docs.oracle.com/javase/7/docs/api/java/sql/Driver.html

Как объяснены в документации, должна быть реализацией класса драйвера и это проблема, которую вы столкнулись.

+0

Если я использую плагин, то тогда как зависимость от драйвера включена в проект? Плагин ли это? – BrainDead

+0

Можете ли вы добавить зависимость плагина к вопросу? – yaswanth

+0

Я использую tomcat-7-maven-plugin: [image] (https://i.stack.imgur.com/aF9zT.png) – BrainDead

1

Плагин maven Tomcat, вероятно, загружает встроенный tomcat со всеми библиотеками исходного пути класса. Когда вы развертываете WAR для существующего Tomcat, библиотеки вашего приложения будут частью пути контекстного класса развернутого веб-приложения.

Загрузка автоматического драйвера JDBC 4 работает только тогда, когда драйвер находится на пути к исходному классу. Если драйвер находится в пути класса контекста, его нельзя найти автоматически, и вам нужно загрузить его вручную, чтобы зарегистрировать его с помощью DriverManager.

Вы можете загрузить драйвер с помощью

Class.forName("org.hsqldb.jdbc.JDBCDriver"); 

Когда класс драйвера загружается, он зарегистрируется.

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