java.lang.ClassNotFoundException: источник данных в Glassfish

У меня странная проблема в GlassFish 2.1 - я новичок в этом контейнере, и у меня проблемы с его закреплением.

У меня есть новая установка GlassFish 2.1 с определенным пулом соединений JDBC под названием testDerbyPool. Затем у меня есть определенный ресурс с именем jdbc / testDerbyPool, указывающий на этот пул. Тип ресурса - javax.sql.DataSource, и я могу успешно проверить связь с пулом.

Затем у меня есть один класс в веб-приложении с этим объявлением:

@Resource(name="jdbc/testDerbyPool")
private javax.sql.DataSource source;

Это объявление в моем web.xml:

  <resource-ref>
    <res-ref-name>jdbc/testDerbyPool</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
  </resource-ref>

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

[#|2009-09-09T21:40:47.582+0100|SEVERE|sun-appserver9.1|javax.enterprise.system.container.web|_ThreadID=24;_ThreadName=Thread-32;_RequestID=1ca4ab80-ae39-4920-be18-f535b025bb51;|WebModule[/cptest1]PWC1275: Exception sending context initialized event to listener instance of class com.sun.faces.config.ConfigureListener

и огромная трассировка стека, начиная с:

java.lang.NoClassDefFoundError: LDataSource;
at java.lang.Class.getDeclaredFields0(Native Method)
at java.lang.Class.privateGetDeclaredFields(Class.java:2291)

с первопричиной:

Caused by: java.lang.ClassNotFoundException: DataSource
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1498)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)

Я не понимаю, как можно «не найти» DataSource! Любые идеи?


person brabster    schedule 09.09.2009    source источник
comment
Убедитесь, что в вашем приложении нет собственной копии javax.sql.DataSource, она может конфликтовать с копией Glassfish.   -  person skaffman    schedule 10.09.2009
comment
Наверное, это то, что происходило, ура   -  person brabster    schedule 10.09.2009


Ответы (1)


В следующий раз, когда я вернулся после того, как задал вопрос, я заметил ошибку сборки в Eclipse, каким-то образом получил дополнительную JRE в пути, помеченном как «несвязанный». Осмотрев свою систему, я получил автоматическое обновление версии JVM между запуском Eclipse и выполнением сборки / развертывания.

Все равно удалил, попробовал еще раз, заработало.

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

person brabster    schedule 09.09.2009
comment
Спасибо, что предложили поискать ошибки сборки и предупреждения. Получал исключение NoClassDefFound с утра, и причина была зарегистрирована как предупреждение. - person Ramesh; 31.01.2010