2015-01-19 1 views
0

Я столкнулся с проблемой при использовании JAXB в CQ5.6.1. Я пытаюсь сделать marshalling и unmarshalling сообщений xml. Однако я всегда получаю ниже исключениеJAXB в CQ5.6.1 - com.sun.xml.bind.ContextFactory_1_0_1 не найден

javax.xml.bind.JAXBException: Provider com.sun.xml.bind.ContextFactory_1_0_1 not found 
[java.lang.ClassNotFoundException: com.sun.xml.bind.ContextFactory_1_0_1] 
    at javax.xml.bind.ContextFinder.newInstance(Unknown Source) 
    at javax.xml.bind.ContextFinder.find(Unknown Source) 
    at javax.xml.bind.JAXBContext.newInstance(Unknown Source) 
    at javax.xml.bind.JAXBContext.newInstance(Unknown Source) 

Я уже пытался Binding файл банки с OSGi расслоения с использованием Maven и установить в CQ, добавление файла банка пути к классам и добавление файла банки в приложениях/MyProject/установки папка. Но проблема все еще существует. Отчаявшись решить это. Оцените любое предложение для решения. Благодарю.

EDIT

Это как получается JAXBContext, и исключение из этой линии.

JAXBContext jc = JAXBContext.newInstance(s, getClass().getClassLoader()); 

ответ

0

Для любой зависимости сначала нужно добавить консоль пучка в felix. Затем проверьте его через http://localhost:4502/system/console/depfinder. Это покажет вам информацию о зависимости. Просто добавьте эту информацию в свой pom.xml [in maven]. Затем создайте код. Также подтвердите, что это также существует в папке .m2.

Thanks

+0

Я делал обратное. Я сначала загрузил jaxb-impl-1.0.6.jar, у которого есть этот недостающий класс, установил его в репозитории Maven, подтвердил, что он существует в папке .m2, обновил файл POM, построил проект, установил OSGi через консоль консоли в Феликс. Если мне нужно следовать вашему пути, что мне нужно добавить с помощью консоли пульта в первый шаг, который вы упомянули? Не могли бы вы рассказать? – jpr

+0

Это будет файл jar. Com.sun.xml.bind.ContextFactory_1_0_1. –

Смежные вопросы