resolución de dependencias

Ejemplo de definición de una dependencia en el pom.xml de un proyecto:


Si no indicamos atributo scope (como en el caso anterior), maven interpreta por defecto que el scope es compile,
por lo que adjunta los artefactos a nuestro proyecto en tiempo de compilación.

Un ejemplo de cuando podemos querer utilizar dependencias compile, puede ser una aplicación que queremos poder ejecutar autónomamente, que simplemente copiando/pegando el jar resultante de la compilación en cualquier máquina con java pueda funcionar.

Si no queremos que nuestro artefacto crezca embebiendo un exceso de otros artefactos, maven prevée el scope provided, que compilará sin incluir la dependencia en nuestro artefacto resultante, ya que supuestamente, en el sitio en que despleguemos el resultado de nuestra compilación, nuestro artefacto ya encontrará ese otro artefacto.

Un ejemplo de cuando podemos querer utilizar dependencias provided, puede ser una aplicación war 
que haga uso de unos drivers (jar) que ya tenemos desplegados en el servidor web en que correrá la aplicación.

Los servidores vienen típicamente con una serie de modules ya incorporados (eg: artefactos apache), que pueden ser utilizables desde una un proyecto nuestro que los referencie como provided. También realizar un despliegue típico de un proyecto nuestro, como ejb o jar en el servidor de aplicaciones y posteriormente desplegar otro proyecto nuestro que referencie con scope provided al primero.

 

 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *