Maven - Dependências Externas
Como você sabe, o Maven faz o gerenciamento de dependências usando o conceito de Repositórios. Mas o que acontece se a dependência não estiver disponível em nenhum dos repositórios remotos e no repositório central? Maven fornece resposta para tal cenário usando o conceito deExternal Dependency.
Por exemplo, vamos fazer as seguintes alterações no projeto criado no capítulo 'Criando projeto Java'.
Adicionar lib pasta para a pasta src.
Copie qualquer jar para a pasta lib. Nós usamosldapjdk.jar, que é uma biblioteca auxiliar para operações LDAP.
Agora, a estrutura do nosso projeto deve se parecer com o seguinte -
Aqui você tem sua própria biblioteca, específica para o projeto, que é um caso usual e contém jars, que podem não estar disponíveis em nenhum repositório para download do maven. Se o seu código estiver usando esta biblioteca com o Maven, a compilação do Maven falhará, pois não pode baixar ou consultar esta biblioteca durante a fase de compilação.
Para lidar com a situação, vamos adicionar esta dependência externa ao maven pom.xml usando a seguinte maneira.
<project xmlns = "http://maven.apache.org/POM/4.0.0"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.companyname.bank</groupId>
<artifactId>consumerBanking</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>consumerBanking</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>ldapjdk</groupId>
<artifactId>ldapjdk</artifactId>
<scope>system</scope>
<version>1.0</version>
<systemPath>${basedir}\src\lib\ldapjdk.jar</systemPath>
</dependency>
</dependencies>
</project>
Observe o segundo elemento de dependência em dependências no exemplo acima, que limpa os seguintes conceitos-chave sobre External Dependency.
As dependências externas (localização do jar da biblioteca) podem ser configuradas em pom.xml da mesma maneira que outras dependências.
Especifique groupId igual ao nome da biblioteca.
Especifique artifactId igual ao nome da biblioteca.
Especifique o escopo como sistema.
Especifique o caminho do sistema relativo ao local do projeto.
Espero que agora você esteja claro sobre as dependências externas e seja capaz de especificar dependências externas em seu projeto Maven.