Это правило связано с изменениями класса инициализации JAXB и конфликтами, которые возникают во время миграции с версий WebSphere Application Server ниже 7.0. Существует два случая миграции JAXB, в которых возникают неполадки с приложениями заказчика. Первый имеет отношение к миграции приложений из WebSphere 6.1, пакет компонентов для веб-служб. Второй - к миграции приложений заказчика, содержащих реализацию JAXB, в WebSphere 7.0 или более позднюю версию.
В состав WebSphere 7.0 входит JAXB 2.1 как часть среды выполнения Java 6.
До версии 7.0, в WebSphere 6.1, пакет компонентов для веб-служб, был JAXB 2.0,
в котором использовался не такой класс инициализации, как в JAXB 2.1 и 2.2 (версия 8.0).
Если в приложении указано использование прежнего класса инициализации, то во время работы
приложения могут возникать исключительные ситуации "Класс не найден".
Класс инициализации может быть задан в свойстве javax.xml.bind.context.factory. Старый класс инициализации - com.sun.xml.bind.ContextFactory.
Если в свойстве javax.xml.bind.context.factory задано имя старого класса, вы
получите сообщение об исключительной ситуации java.lang.ClassNotFoundException при использовании
библиотек JAXB, доступных в Java 6.
Это правило ищет метод javax.xml.bind.JAXBContext.newInstance, используемый для получения JAXBContext. Если применяется JAXB, приложение необходимо проверить
на наличие прежней фабрики контекста. Это правило также обнаруживает строковые литералы
"com.sun.xml.bind.ContextFactory" или "com.sun.xml.bind.DefaultJAXBContextImpl" в коде Java,
но оно не просматривает файлы свойств, в которых эти значения часто заданы.
Они также могут быть заданы как системные свойства Java.
Свойства JAXB обычно загружаются из файла jaxb.properties. Вручную
проверьте файлы свойств приложения на наличие прежней фабрики контекста.
Чтобы просмотреть файлы свойств в Eclipse, выберите Поиск > Файл....
В поле Содержащий текст введите com.sun.xml.bind.ContextFactory.
В поле Шаблоны имени файла введите *.properties.
Повторите поиск для строки com.sun.xml.bind.DefaultJAXBContextImpl.
При использовании JAXB в WebSphere V7 или V8 класс инициализации по умолчанию -
com.ibm.xml.xlxp2.jaxb.JAXBContextFactory, если не задано свойство
javax.xml.bind.context.factory.
Во втором случае заказчики, добавившие реализацию JAXB в состав приложения до версии 7, также могут столкнуться с только что описанными неполадками или изменением поведения после миграции на WebSphere 7.0 или более позднюю версию. Такое происходит, когда загружается версия JAXB 2.1 или 2.2 из среды выполнения Java, а не реализация JAXB, идущая в составе приложения. См. рекомендации по устранению неполадок загрузчика классов в статье Настройка стороннего приложения JAX-WS для WebSphere Application Server 7, если необходимо продолжить использование своей реализации JAXB.
Дополнительная информация: