Использование Websphere Liberty Профиль 8.5.5.7 с функциямиWebsphere Liberty ClassNotFoundException во время проверки
beanValidation-1.1
включенjpa-2.1
отключил
Реализация спящего режима JPA-2,0 в настоящее время загружаемый как зависимость проекта хотя в проекте. Оценщик autowired по рамкам Spring аналогично
Validation.byDefaultProvider()
.configure()
.buildValidatorFactory()
.getValidator()
Кажется, что он настраивает проходимый распознаватель по умолчанию, который дополнительно делегирует работу в JPA проходимого распознаватель, как у меня есть JPA API в пути к классам. Тем не менее, при выполнении проверки на объект он не работает с ClassNotFoundException: javax/persistence/Persistence
из-за использования этого класса в org.apache.bval.jsr.resolver.JPATraversableResolver:34
.
Кажется, что ошибка WebSphere связана с загрузчиками классов, но, возможно, я должен инициализировать проверку другим способом?
Нет такой проблемы, хотя при включении функции jpa-2.1
в Websphere.
Если вы хотите приложений чтобы иметь видимость для классов 'javax.persistence. *', вам необходимо включить функцию * some * jpa. Когда вы говорите, что вы отключили 'jpa-2.1', включите ли вы' jpa-2.0'? Эти функции должны обеспечивать классы JPA. –
Я загружаю 'jpa-2.0' как зависимость от Maven, а не как функцию Websphere. Похоже, что из-за этого есть частичная видимость 'javax.persistence. *'.Я ожидаю, что Websphere либо вообще не увидит его из кода проверки компонента, либо увидит его в обоих местах - инициализация валидатора и сама проверка. – Gedrox
попробуйте добавить ' jpa-2.0 ' на ваш server.xml, который должен решить вашу проблему. –