Como usar corretamente o OmniFaces em um EAR

Eu quero usarOmniFaces 1.7 no meu aplicativo Jave EE 7. Meu aplicativo é um EAR que contém JARs e umWAR magro. Alguns dos meus JARs dependem do OmniFaces, portanto, o artefato do OmniFaces deve estar no EAR, mas não noWEB-INF/lib na guerra.

Aqui está como meu EAR se parece:

EAR
 +-- lib
 |    +-- [some 3rd party JARs]
 |    `-- omnifaces.jar
 +-- myEJBs.jar
 `-- myWAR.war

Quando eu coloco dessa maneira, os conversores OmniFaces (comoGenericEnumConverter) não estão registrados no JSF e não funcionarão. A razão para isso é discutidaaqui eaqui. Basicamente de acordo com oEspecificação JSF 2.0 (seção11.5.1 Requisitos para a varredura de classes para anotações), apenas os WARsWEB-INF/lib O diretório é verificado.

Então, minha pergunta é:como devo incluir o OmniFaces no meu aplicativo?

Incluindo duas vezes (emEAR/lib e WARsWEB-INF/lib) poderia funcionar, mas parece desajeitado. Eu tentei há algum tempo atrás com o RichFaces 4.3.5 (mesmo problema) que não funcionou, mas levou aIllegalArgumentException: duplicate key: class javax.faces.convert.ByteConverter.

questionAnswers(1)

yourAnswerToTheQuestion