Escopos do Maven

Conforme a documentação do próprio Maven, os escopos possuem um papel em limitar as dependências transitivas e o controle de quando um dependência pode ser incluída no classpath do projeto. O Maven provê alguns escopos que podem ser utilizados para configurar as dependências do seu projeto. Neste post, vamos falar de forma resumida dos 5 principais escopos. São eles: compile: Escopo padrão, quando não se especifica nenhum outro escopo. Dependências configuradas com este escopo são disponibilizadas para todo o classpath de um projeto. provided: Basicamente utilizado para dependências que serão adicionadas ao classpath em tempo de compilação e testes. Mas o ponto forte da utilização deste escopo é quando existe uma necessidade em adicionar uma ou mais dependências já existentes dentro de um contexto específico. Na maioria dos casos, isso acontece quando estamos fazendo um deploy de uma aplicação web dentro de um container que já possui dependências em comum. runtime: Esta escopo fala por si. O Maven inclui dependências configuradas como runtime no classpath em tempo de execução (runtime) e testes. test: Escopo utilizado para execução de testes. Normalmente utilizado para bibliotecas como JUnit e Mockito. system: Este escopo é similar ao provided mas com uma diferença. Para a utilização do escopo system, é necessário especificar o caminho do Jar. Lembrando que este escopo está depreciado.

Escopos do Maven