JBoss 6 - Spring 3.0.5 & CXF
Nos ultimos tempos, tive que migrar aplicações web do JBoss 5.1 para 6.0. Ao fazer o deploy de uma das aplicação, o Jboss não fez o scanning de uma das dependência, jaxb-xjc-2.1.13.jar e deu um erro indicando que não conseguia encontrar a classe JConditional.
Este erro deve-se ao facto de existir um package com o nome 1.0 e as classes deste package estão localizadas em jar/1.0/com/ em vez de jar/1/0/com.
Para resolver este erro, é necessário adicionar o ficheiro WEB-INF/jboss-scanning.xml que faz com que a nossa aplicação seja excluída do scan executado pelo ScanningMetaDataDeployer,
No meu caso, este ficheiro deveria conter a seguinte informação:
<scanning xmlns="urn:jboss:scanning:1.0">
<path name="WEB-INF/classes">
</path>
<path name="WEB-INF/lib/jaxb-xjc-2.1.13.jar">
<exclude name="" recurse="true">
</exclude>
</path>
Este erro deve-se ao facto de existir um package com o nome 1.0 e as classes deste package estão localizadas em jar/1.0/com/ em vez de jar/1/0/com.
Para resolver este erro, é necessário adicionar o ficheiro WEB-INF/jboss-scanning.xml que faz com que a nossa aplicação seja excluída do scan executado pelo ScanningMetaDataDeployer,
No meu caso, este ficheiro deveria conter a seguinte informação:
<scanning xmlns="urn:jboss:scanning:1.0">
<path name="WEB-INF/classes">
</path>
<path name="WEB-INF/lib/jaxb-xjc-2.1.13.jar">
<exclude name="" recurse="true">
</exclude>
</path>
Comentários