У меня возникла странная проблема с JAXB в моем мультимодульном проекте maven. Один из моих компонентов создает XML BPMN 2.0 с использованием JAXB. Не создавать классы самих, а использовалJAXB in maven multi module
<dependency>
<groupId>org.ow2.orchestra.designer</groupId>
<artifactId>bpmn-jaxb-model</artifactId>
<version>4.9.0</version>
<scope>compile</scope>
</dependency>
тестов в этом модуле все прекрасно работает, и я могу видеть созданный файл XML и его содержание.
Второй модуль представляет прототип WebFrontend. Он имеет первый компонент как зависимость и использует его.
Если я затем вызвать метод, который создает BPMN 2.0 XML из 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, но а не когда этот модуль используется где-то еще?
Может ли кто-нибудь дать мне указатели?
EDIT: Когда я смотрю на зависимости в Netbeans, я отчетливо вижу ObjectFactory.class в правильном пакете в правой банке ... Возможно, это какая-то причудливая проблема Jetty?
Похоже, что в веб-приложении отсутствует зависимость. Попробуйте 'mvn dependency: tree ', возможно, это прольет некоторый свет. – lexicore