Добавлен mysql jar в lib, но все еще сталкивается с классом, не найденным при локальном развертывании, чтобы tomcat работал через intelliJ?

В моем приложении я хочу добавить имя пользователя и пароль в базу данных, когда пользователь регистрируется и нажимает «зарегистрироваться» через servlet2.java, но при локальном развертывании tomcat вместо добавления данных в базу данных выбрасывается class not found exception, я уже добавил mysql jar в lib, но все равно никакой пользы. Вот ссылка для скачивания на мой проект. Если кто может, помогите исправить ошибку.

Вот полная трассировка стека.

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1363)
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1186)
    at java.base/java.lang.Class.forName0(Native Method)
    at java.base/java.lang.Class.forName(Class.java:315)
    at source.servlet2.database(servlet2.java:23)
    at source.servlet2.doPost(servlet2.java:16)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:660)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:200)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:678)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
    at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)
    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:834)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1415)
    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.base/java.lang.Thread.run(Thread.java:834)
22-May-2019 19:22:52.550 INFO [Catalina-utility-2] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [D:\apache-tomcat-9.0.17\webapps\manager]
22-May-2019 19:22:52.735 INFO [Catalina-utility-2] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [D:\apache-tomcat-9.0.17\webapps\manager] has finished in [185] ms

Не могли бы вы также добавить трассировку стека.

Deepak Sharma 22.05.2019 09:56

Кроме того, проверьте, присутствуют ли jar-файлы в каталоге lib внутри каталога приложения в каталоге tomcat/webapps/.

Deepak Sharma 22.05.2019 09:57

нам нужно намного больше, чтобы помочь. Полная трассировка стека, как вы добавили драйвер, maven? Мануал в IDE? какую банку вы добавили и т. д.

maslan 22.05.2019 10:05

Вы можете добавить jar в путь к классам tomcat, как описано здесь stackoverflow.com/a/7198049/2000323

Andrey 22.05.2019 11:20

Ну, я добавил трассировку стека, я добавил банку через структуру проекта/модули/библиотеку/maven, а затем загрузил последнюю версию банки mysql.

fuzious 22.05.2019 15:57
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
5
5 919
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

У вас есть область provided для JAR драйвера jdbc. В этом случае он не копируется в артефакт, который вы развертываете на tomcat. Вам нужно указать его как область действия compile.

Вы также можете добавить jar в путь к классам tomcat, как описано здесь https://stackoverflow.com/a/7198049/2000323 для всех приложений. Затем вы должны указать область действия как provided, чтобы одна и та же банка не развертывалась дважды.

Я добавил все 4 файла войны в tomcat/lib, но пометил область как предоставленную и попытался как отметить, так и снять отметку с опции экспорта, но все еще сталкиваюсь с проблемой, я также добавил трассировку стека

fuzious 22.05.2019 16:10

Другие вопросы по теме