java maven jboss dependencies jboss7.x

java - ¿Cómo genera dependencias de módulo en MANIFEST.MF para JBoss AS 7 con maven?



dependencies jboss7.x (2)

En JBoss AS 7, una aplicación web que depende de las bibliotecas contenidas en el AS, debe declarar esas dependencias en META-INF / MANIFEST.MF así:

Dependencies: <package-name>

Ejemplo:

Dependencies: org.slf4j

(Esto es comparable a Import-Package: para OSGi). Se puede encontrar más información en los artículos sobre migración desde versiones anteriores , carga de clases y dependencias de módulos implícitas para implementaciones.

El proyecto está construido con Maven. Todas las dependencias incluidas en el AS se declaran con alcance ''proporcionado''.

Ahora la pregunta

¿Existe una forma sencilla de crear esta lista de dependencias automáticamente con Maven?

Solo se deben incluir las dependencias con el alcance declarado ''proporcionado'', porque todas las demás ya están incluidas en el WAR.


Esas dependencias están declaradas por nombres a los que los artefactos de Maven no tienen mapeos. Probablemente podría mantener groupId sincronizado con los nombres de los módulos de jboss, pero no estoy seguro de que sea una buena idea. Y todavía no puedo pensar en ninguna solución automatizada.

Pero hay un lugar donde puede administrar la configuración a mano, como se describe en una de las fuentes que proporcionó en su pregunta:

<build> ... <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <configuration> <archive> <manifestEntries> <Dependencies>org.slf4j</Dependencies> </manifestEntries> </archive> </configuration> </plugin> </plugins> </build>

Espero que a alguien se le ocurra un plugin para hacerlo menos engorroso.


Este código agrega automáticamente todas sus dependencias de compilación en su MANIFEST.MF

<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>2.4</version> <configuration> <archive> <manifest> <addClasspath>true</addClasspath> </manifest> </archive> </configuration> </plugin>

Más información aquí: http://maven.apache.org/plugins/maven-war-plugin/examples/war-manifest-guide.html