Вопрос по eclipselink, jaxb, moxy – JAXBContext, jaxb.properties и moxy

4

jaxb.properties должен быть вsame package as the domain classes вы создаете JAXBContext на.

Я использую управляемую XML конфигурацию Moxy, так как не хочу использовать аннотации или объекты, сгенерированные XJC. У меня есть существующие классы домена, которые распределены по нескольким пакетам. Значит ли это, что мне нужно иметьjaxb.properties присутствует во всех этих пакетах или есть лучшая альтернатива (может быть, написать свою собственную реализацию некоторого интерфейса, который может читать из jvm arg или что-то в этом роде)?

Ваш Ответ

1   ответ
6

Does this mean that i need to have the jaxb.properties present in all those packages?

Если вы создаете свойJAXBContext на занятиях, то вам нужно иметьjaxb.properties файл, по крайней мере, в одном из пакетов классов домена, переданных в. В приведенном ниже примере вы могли бы иметьjaxb.properties файл в любомpackage1 или жеpackage2.

JAXBContext jc = JAXBContext.newInstance(package1.Foo.class, package2.Bar.class);

Если вы создаете свойJAXBContext на имена пакетов, то вам нужно иметьjaxb.properties файлы хотя бы в одном из пакетов. Обратите внимание, что пакеты разделены символом «:».

JAXBContext jc = JAXBContext.newInstance("package1:package2");

or there is a better alternative

Я предпочитаю использовать стандартные API JAXB сjaxb.properties файл, чтобы указать MOXy в качестве поставщика JAXB. Некоторые люди предпочитают использовать нативные API MOXy для этого:

JAXBContext jc = org.eclipse.persistence.jaxb.JAXBContextFactory.createContext(new Class[] {Foo.class, Bar.class}, null);

For More Information

http://blog.bdoughan.com/2011/05/specifying-eclipselink-moxy-as-your.html
@Blaise: Получил мою ошибку. Я пропустил текст (). Это исправило это. Спасибо!
@Pangea - я обновил пост, пытаясь прояснить это. Спасибо, что обратили на это мое внимание.
Я еще не запускал этот пример, но чтение вашего поста вызвало у меня это сомнение, поскольку вы не закрыли этот вопрос. Было бы хорошо, если бы вы могли обновить свой пост, чтобы явно указать, что «это нормально». Aravind R. Yarram
Покаjaxb.properties Файл находится в одном из пакетов классов, переданных для созданияJAXBContext ты в порядке. Это то, что я пытался продемонстрировать этим постом. Видите ли вы разные результаты при запуске этого примера?
В приведенной ссылке я вижу ниже как выход, если я указываю jaxb.properties только в 1 пакете. & quot; класс com.sun.xml.bind.v2.runtime.JAXBContextImpl & quot ;. Как видите, пакет, в котором отсутствует jaxb.props, возвращается к реализации suns. У нас не будет проблем с этим? Aravind R. Yarram

Похожие вопросы