O que pode causar “JAXBElement Não possui um construtor padrão no-arg”?
Estou gerando um jarro que deve ser colocado em um produto de software comercial. Esse jar está em conformidade com a API do software comercial e depende de um segundo jar, que contém (entre outras coisas) um conjunto de POJOs gerados a partir de um XSD. No entanto, ele falha ao tentar instanciar o JAXBContext quando eu o solto.
Eu recebo:
"1 counts of IllegalAnnotationExceptions"
javax.xml.bind.JAXBElement does not have a no-arg default constructor.
this problem is related to the following location:
at javax.xml.bind.JAXBElement
at mypackage.MyClass
...
JAXBContext.newInstance("mypackage");
...
Meu XSD (resumido por brevidade) se parece com isso:
<xsd:schema ... >
<xsd:element name="MyClass" type="myType" />
<xsd:complexType name="myType">
...
</xsd:complextType>
</xsd:schema>
Eu pensei que talvez o problema fosse que as Classes no nível "xsd: element" não existiam, mas o problema persistia mesmo quando eu configurava o XJC para criar o MyClass e eu verifiquei que o MyClass tem um construtor público no-arg.
Então, eu olhei para várias outras perguntas do SO (e na verdade toda a internet). Nenhum deles me deu compreensão suficiente para resolver esse problema, o que pode ser apenas uma má reflexão sobre mim. Alguém pode lançar alguma visão? Ou me dar testes alternativos para conduzir isso?