Olá Pessoal, tudo bom?
O post de hoje, que está saindo mais cedo que o convencional, está relacionado a uma falha que encontrei ao utilizar os meus projetos do Bitbucket em sala de aula por causa do proxy da instituição que atualmente estou ministrando aulas. Assim, descrevo aqui a solução encontrada para contornar esse problema:
Descrição do Erro
Ao baixar o projeto Maven do Eclipse que tenho no Bitbucket apareceu uma popup com vários erros, indicando que o Eclipse com o plugin Maven não tinha conseguido baixar algumas bibliotecas e ocorreu um erro de build no projeto (ponto de exclamação vermelho), conforme Figura 01 e Figura 02:
O erro que aparece na popup do Eclipse é o seguinte:
Could not calculate build plan: Plugin org.apache.maven.plugins:maven-resources-plugin:2.5 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.apache.maven.plugins:maven-resources-plugin:jar:2.5
Além disso vá no Console do Eclipse e abrir um Maven Console. Para isso clique no triangulo ao lado das opções do console e escolha a opção Maven Console, conforme mostra a Figura 03:
No console do maven apareceu as seguintes linhas, repare nas linhas vermelhas que eu destaquei aqui:
15/08/16 19:09:32 BRT: [INFO] Downloaded https://repo.maven.apache.org/maven2/org/apache/commons/commons-lang3/3.4/commons-lang3-3.4.pom
15/08/16 19:09:42 BRT: [INFO] Downloaded https://repo.maven.apache.org/maven2/junit/junit/4.12/junit-4.12.pom
15/08/16 19:09:42 BRT: [WARN] Failed to retrieve plugin descriptor for org.apache.maven.plugins:maven-compiler-plugin:3.5.1: Plugin org.apache.maven.plugins:maven-compiler-plugin:3.5.1 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.apache.maven.plugins:maven-compiler-plugin:jar:3.5.1
15/08/16 19:09:42 BRT: [WARN] Failed to retrieve plugin descriptor for org.apache.maven.plugins:maven-clean-plugin:2.5: Plugin org.apache.maven.plugins:maven-clean-plugin:2.5 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.apache.maven.plugins:maven-clean-plugin:jar:2.5
Estas possuem a mensagem “Failed to retrieve plugin descriptor for…“. Assim a suspeita sobre problemas com o bloqueio do proxy da instituição foram aumentando.
Solução
Assim procurando no site do Maven eu achei um guia explicando a configuração do proxy dentro do repositório local. Como essa parte não explica a configuração na IDE eclipse irei também mostrar essa configuração aqui.
A primeira coisa a ser feita é acessar dentro do eclipse as configurações do Maven. Para tanto vá em Window > Preferences, conforme Figura 04:
Irá aparecer a popup Preferences. Escolha a opção Maven > User Settings, conforme Figura 05.
A primeira caixa de texto da aba User Settings indica onde está localizado o arquivo settings.xml em seu sistema operacional. Vá até essa pasta e verifique se esse arquivo existe. Caso não exista crie um arquivo xml com este nome e copie o código abaixo que possui a configuração básica para o proxy.
Caso o arquivo settings.xml exista na pasta que o Eclipse indicou é necessário verificar se este possui a configuração do proxy. Para tanto abra-o com um editor de texto e procure pelo element <proxies>. Veja se esse existe e possui a configuração parecida com o código abaixo, senão copie somente a parte <proxies>.
Detalhe importante você ainda deverá alterar itens internos dessa configuração então a correção não termina aqui.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"> <localRepository/> <interactiveMode/> <usePluginRegistry/> <offline/> <pluginGroups/> <servers/> <mirrors/> <proxies> <proxy> <active>true</active> <host>lab-gw</host> <id>NomeProxy</id> <nonProxyHosts>localhost,127.0.0.1</nonProxyHosts> <password>senha</password> <port>8080</port> <protocol>http</protocol> <username>user</username> </proxy> </proxies> <profiles/> <activeProfiles/> </settings> |
Propriedades de Configuração do Proxy
De acordo com o Guia do Maven as configurações do elemento proxy são as seguintes:
Element | Tipo | Descrição | Valor Default | Observações |
---|---|---|---|---|
active | boolean | Indica se a configuração do proxy está ativa | true | |
host | String | O host do proxy | – | Ex: lab-gw |
id | String | O id de proxy que o Maven irá utilizar | default | |
nonProxyHosts | String | A lista de hosts que não devem passar pelo proxy | – | Pode conter multiplos valores. Delimitados por pipes “|” |
password | String | A senha do seu usuário do proxy | – | |
port | int | A porta do proxy | 8080 | |
protocol | String | O protocolo do proxy | http | |
username | String | O usuário do proxy | – | Ex: u123456 |
Os elements host, password e username devem ser trocados no arquivo da sua máquina.
Os elements port e protocol devem ser trocados somente se forem necessários, outra porta ou protocolo.
Rodando os comandos Maven
Depois de configurado o arquivo com o proxy você deverá rodar os comandos Maven:
- Run as > Maven Clean
- Run as > Maven Install
- Maven > Update Project…
Mais detalhes sobre esses comandos em um artigo futuro.
finnaly{
Após realizar essa configuração nos laboratórios da instituição o Maven funcionou corretamente baixando os plugins necessários. Caso o erro persista por favor envie aqui sua dúvida para tentar auxiliar você.
Duvidas ou sugestões? Deixe seu feedback! Isso ajuda a saber a sua opinião sobre os artigos e melhorá-los para o futuro! Isso é muito importante!
Até um próximo post!
Leave a Reply