Я использую классы CXF JAXB, сгенерированные в приложении GWT. Я хотел бы, чтобы equals() и hashCode() добавлялись к сгенерированным классам. Я успешно использовал JAXB2 Basics Plugins (http://confluence.highsource.org/display/J2B/JAXB2+Basics+Plugins) и JAXB2 Basics Runtime с CXF в maven POM, чтобы сгенерировать их. Однако сгенерированные классы теперь несовместимы с GWT. Классы имеют зависимости, которые не эмулируются GWT, например, java.util.ResourceBundle, java.net.URL.Основы GWT и JAXB Время выполнения
Я рассматриваю использование CustomEqualsStrategy, но это все равно оставит класс org.jvnet.jaxb2_commons.locator.ObjectLocator. Кто-нибудь получил это, чтобы работать?
Несомненно. Я автор. Не могли бы вы указать, какая именно проблема с GWT была? – lexicore
Все классы jaxb2_common перечислены следующим образом: (я не могу их распечатать) '[ERROR] Строка xxx: Нет исходного кода для типа org.jvnet.jaxb2_commons.locator.ObjectLocator; вы забыли наследовать необходимый модуль? ' ' [ERROR] Строка xxx: Нет исходного кода для типа org.jvnet.jaxb2_commons.lang.JAXBEqualsStrategy; вы забыли наследовать необходимый модуль? ' ' [ERROR] Строка xxx: для типа org.jvnet.jaxb2_commons.locator.util.LaxatorUtils не существует исходного кода; вы забыли наследовать необходимый модуль? ' – ja6a
Сообщение« вы забыли наследовать необходимый модуль? »означает, что GWT не может найти исходный код. Мы можем включить источник для ObjectLocator, но это никогда не будет работать, потому что ObjectLocator зависит от частей Java, которые GWT не эмулирует.Одним из решений может быть разработка версии ObjectLocator, которая ограничивает себя эмулированными классами GWT. Например, GWT имеет однопоточную резьбу, что может помочь упростить ситуацию. – ja6a