У меня есть действительно простой проект веб-приложения с maven и причалом, который до сих пор работал очень хорошо. Но теперь мне нужно настроить пул соединений MySQL с JNDI, так как время ожидания соединений с базой данных всегда истекает.
Прежде всего, вот соответствующее содержимое моего файла pom.xml:
4.0.0
...
war
...
UTF-8
8.1.0.v20120127
...
mysql
mysql-connector-java
5.1.20
org.mortbay.jetty
jetty-maven-plugin
${jetty-version}
maven-plugin
...
org.mortbay.jetty
jetty-maven-plugin
${jetty-version}
10
...
Теперь я создал файл jetty-env.xml в папке /src/main/webapp/WEB-INF со следующим содержимым:
jdbc/db
jdbc:mysql://www.example.com:3306/mydb
dbuser
dbpass
Но проблема в том, что я даже не могу проверить, работает ли это соединение, так как плагин jetty-maven не запускается на цели
mvn jetty:run
со следующей ошибкой:
WARN:oejw.WebAppContext:Failed startup of context o.m.j.p.JettyWebAppContext
{/,file:/D:/documents/programmierung/workspace/battleships-trunk/src/main/webapp/}
,file:/D:/documents/programmierung/workspace/battleships-trunk/src/main/webapp/
java.lang.IllegalArgumentException: Object of class
'org.mortbay.jetty.plugin.JettyWebAppContext' is not of type
'org.eclipse.jetty.webapp.WebAppContext'.
Object Class and type Class are from different loaders.
Итак, как я могу заставить это работать? Я вынужден использовать Jetty версии 8.x, так как мне нужна поддержка WebSocket, а удаленный производительный сервер будет работать под управлением Jetty 8.
РЕДАКТИРОВАТЬ До ответа Павла Веллера я пробовал следующее: Развернул собранную войну на удаленном сервере jetty8 и получил ту же ошибку, только предыдущая ошибка теперь выглядит следующим образом:
java.lang.IllegalArgumentException: Object of class
'org.eclipse.jetty.webapp.WebAppContext' is not of type
'org.eclipse.jetty.webapp.WebAppContext'.
Object Class and type Class are from different loaders.
Таким образом, кажется, что существует конфликт нескольких загрузчиков классов.
РЕДАКТИРОВАТЬ2 По просьбе Павла я воссоздал ошибку с помощью упрощенного веб-приложения, которое вы можете найти здесь, в Dropbox. Это заархивированный проект eclipse maven.