2016-07-26 4 views
1

Следующий фрагмент кода не удается ужевеб-приложение не может найти Драйвер MySQL

private void initConnectionPool() { 
      try { 

      connectionPool = new SimpleJDBCConnectionPool("com.mysql.jdbc.Driver","jdbc:mysql://localhost:3306/mydb", "root","mypassword", 2, 5); 
     } catch (SQLException e) { 
      e.printStackTrace(); 
     } 
} 

В качестве справочной информации. Я просто пытаюсь подключиться к базе данных с Vaadin. База данных существует, и я уже протестировал ее с помощью консольного java-приложения, которое находится в mysql-connector-java-5.0.8-bin.jar. Я могу открыть запрос в базе данных.

В веб-приложении с помощью Vaadin он говорит мне, что он не может загрузить драйвер. Я уже пытался добавить файл .jar в путь сборки. Я также потерял файл .jar в каталоге target/hello-world/Web-inf/lib. Я также добавил его в сборку развертывания (свойства проекта). Я хотел, чтобы maven обрабатывал эту зависимость, но я не знаю, как это сделать (я новичок в maven, и я в основном следовал руководству Vaadin для запуска веб-приложения на причальном сервере).

В основном, я пробовал много вещей, и мое приложение не может найти com.mysql.jdbc.Driver, даже если я поместил его в папку web-inf. Я видел подобные вопросы и пытался ответить на многие из возможных ответов, но пока ничего не понял. Может кто-нибудь, пожалуйста, скажите мне, что может быть самым простым способом решения этого?

Для получения информации, я запускаю сервер причала также из затмения.

Большое спасибо за внимание.

+0

Из вашего описания, это звучит, как это проект Maven, поэтому вам следует добавить зависимость драйвера MySQL в вашем ПОМ. Если это не так, добавьте более подробную информацию о настройке проекта и о том, как вы используете приложение, автономный сервер и т. Д. – Morfic

+0

Это проект maven, но я новичок в maven, и я не знаю, как его получить управлять этой зависимостью – edd

+0

Ну, сначала вы можете прочитать о [maven] (https://maven.apache.org/what-is-maven.html) и [его системе зависимостей] (https://maven.apache.org/ руководства/введение/введение-to-dependency-mechan.html), то вы можете искать/google [mysql library] (https://mvnrepository.com/artifact/mysql/mysql-connector-java/6.0.3) и добавьте его в свой файл [POM] (https://maven.apache.org/pom.html#Introduction) в разделе «зависимости». – Morfic

ответ

0

Я не пробовал предлагаемое решение, потому что я использую причал. В любом случае, просто поместить файл в папку WEB-INF тоже не удалось. В итоге мне удалось установить зависимость через Maven, и она работает. Думаю, это так, потому что я не работаю в крупной организации с тоннами брандмауэров.

Я раз нажал на проект (Eclipse) и выбранного Maven-> Добавить зависимость

Id Группа: MySQL Артефакт Id: MySQL-разъем-Java Версии: 5.1.6

Тогда я перешел в меню «Выполнить» и выбрал установку Maven.

Эта последняя версия немного устарела, и у меня есть другая проблема, которая может быть связана с ней, но, по крайней мере, она не открывает соединение, и оно работает.

Приветствия

0

Скопируйте файлы jar в файл WebContent> WEB-INF> lib.
Если lib не существует, создайте его. Tomcat может найти драйвер из указанной папки.

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