JAXB в мульти-модуле Maven - PullRequest
       0

JAXB в мульти-модуле Maven

0 голосов
/ 29 февраля 2012

У меня странная проблема с JAXB в моем многомодульном проекте maven.Один из моих компонентов создает BPMN 2.0 XML с использованием JAXB.Я не создавал классы сам, а использовал

<dependency>
   <groupId>org.ow2.orchestra.designer</groupId>
   <artifactId>bpmn-jaxb-model</artifactId>
   <version>4.9.0</version>
   <scope>compile</scope>
</dependency>

Все тесты в этом модуле выполняются нормально, и я вижу созданный файл XML и его содержимое.

Второй модуль представляет прототип WebFrontend,Он имеет первый компонент в качестве зависимости и использует его.

Если я затем вызываю метод, который создает XML BPMN 2.0 из WebFrontend, я получаю JAXBException, как показано ниже:

javax.xml.bind.JAXBException: "org.ow2.orchestra.jaxb.bpmn" doesnt contain    ObjectFactory.class or jaxb.index
    at com.sun.xml.internal.bind.v2.ContextFactory.createContext(ContextFactory.java:186)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    ...

Как может случиться, что JAXB прекрасно работает в одном модуле maven, но не тогда, когда этот модуль используется где-то еще?

Может кто-нибудь дать мне указатели?

РЕДАКТИРОВАТЬ: Когда я смотрюзависимости в Netbeans Я ясно вижу ObjectFactory.class в правильном пакете в правой банке ... Это может быть какая-то причудливая проблема Jetty?

Ответы [ 2 ]

0 голосов
/ 01 марта 2012

Я вроде решил эту проблему.Я объявил зависимость как «предоставленную» в первом модуле и добавил ее к зависимостям Jetty в pom.xml в WebApp.Мне это не очень нравится, но, поскольку у меня заканчивается время, это лучшее решение, которое я могу сейчас получить.

0 голосов
/ 29 февраля 2012

Проблемы такого типа обычно заканчиваются конфликтами версий ... создайте зависимости mvn: tree для каждого модуля и сравните зависимости.

Если вы не видите расхождений, загрузите модули по одномувремя в Eclipse, выполните cntrl-shit-t и введите имя класса.Можете ли вы загрузить один и тот же класс из разных банок?а если все модули открыты?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...