Использование Tomcat 6.0 в качестве сервера для веб-приложения java приводит к путанице в аннотациях javax.persistence - PullRequest
0 голосов
/ 14 декабря 2009

Обычно я использую Glass Fish в качестве сервера тестирования для NetBeans. Недавно я попытался перейти на Tomcat 6.0. Как только я изменил сервер, компилятор больше не понимает javax.persistence.Entity. Когда я проверил структуру библиотеки Tomcat 6.0, там был файл с именем annotation-api.jar, в котором находится другой пакет javax.persistence (!!!). Возможно ли разрешить этот вид конфликта, когда есть два пакета с разным содержимым с одинаковым именем?

1 Ответ

2 голосов
/ 14 декабря 2009

annotation-api.jar не является реализацией JPA. Как вы думаете, в пути к классам нет никаких коллизий (это привело бы к ошибкам во время выполнения, а не к простым ошибкам компиляции). Tomcat не имеет никакой реализации JPA, в то время как Glassfish имеет одну встроенную. Вы должны предоставить один самостоятельно. Вы можете выбрать из каждого OpenJPA , Hibernate , TopLink или EclipseLink . И убедитесь, что вы поместили его в Webapp/WEB-INF/lib.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...