sábado

Plugin m2eclipse

Eu recebo dezenas de visitas diárias, voltadas para busca de informações sobre maven, como por exemplo para acessar o post Criando um projeto Maven no Linux . Realmente, trabalhar com desenvolvimento utilizando maven para gerenciar os diversos archetypes e dependências que os projetos utilizam pode significar:
  1. Repositórios de códigos mais enxutos, já que as libs NÃO estarão dentro do source, apenas suas referências. O maven baixa e agrega as libs no momento da compilação do projeto, neste caso ele será colocado dentro da pasta target;
  2. Mais eficiência ao remover conflitos entre versões de libs, através da utilização da tag exclusion dentro da tag dependency;
  3. Maior facilidade ao integrar projetos;
  4. Facilidade ao utilizar ferramentas de integração contínua, como o Hudson;
E muitas outras vantagens. Um excelente plugin do maven para eclipse é o m2eclipse, abaixo segue um pequeno tutorial de como instalá-lo e alguns toques sobre sua utilização.

Instalando o plugin m2eclipse 

  • Acesse o menu Help > Install new Software
  • Em Work with clique no botão Add
  • Insira os dados:
  • Clique em OK
  • Selecione o item m2eclipse no combo ao lado de Work with
  • Marque o item Maven Integration for Eclipse
  • Clique em Next
  • Leia e aceite os termos de uso
  • Siga confirmando até reiniciar o eclipse

Criando um projeto utilizando o plugin m2e

  • Acesse o menu File > New > Other
  • Selecione a pasta Maven > Maven Project
  • Marque Create a Simple Project
  • Clique em Next

Entendendo o painel Artifact

Group Id

O group id deve ser formado por um nome único, que diferencie o projeto de todos os outros já desenvolvidos. Costuma-se utilizar o domínio que o desenvolvedor definiu para o projeto + o grupo do próprio projeto, onde domínio é compreendido como o endereço web de propriedade da empresa desenvolvedora ou do próprio desenvolvedor. No meu caso eu utilizo o domínio do meu site fabriciojf.com para os meus projetos pessoais e o bemmelhor.com.br para os projetos da minha empresa.

O detalhe é que o domínio deve ser escrito ao contrário, citando o exemplo do próprio projeto maven, o domínio da empresa é apache.org e o grupo do projeto é maven, sendo assim, o group id é:

Group Id: org.apache.maven 

Artifact Id

É o nome utilizado para o projeto, o ideal é utilizar um nome sem caracteres estranhos ou no máximo um traço "-" para separar palavras, Ex: maven-project, hibernate-core, hibernate-annotations e ehcache. 

Version

É a versão atual do projeto, costuma-se utilizar a versão xx-SNAPSHOT para identificar aquela que está sendo desenvolvida no momento. Por exemplo, estou gerando a versão 0.5.6-SNAPSHOT do projeto com.fabriciojf.libtools (com.fabriciojf.libtools-0.5.6-SNAPSHOT), quando eu for distribuir esta versão ela ficará simplesmente com.fabriciojf.libtools-0.5.6 e a versão SNAPSHOT será a próxima em desenvolvimento, ex: com.fabriciojf.libtools-0.6.0-SNAPSHOT.

Existem algumas formas para se controlar a versões de projetos, eu particularmente utilizo a seguinte:

X.Y.Z (1.0.5, 2.3.45, 0.12.22 ...) onde:

  • X corresponde a mudanças que tornem o projeto incompatível
  • Y corresponde a novas funcionalidades
  • Z corresponde a correções de bugs
Supondo que eu esteja desenvolvendo um projeto que está na versão 2.4.21 e faça a correção de um bug, vou gerar então a versão 2.4.22; logo após insiro uma nova tela de cadastro, subo a versão para 2.5.0 e assim sucessivamente.

Em alguns casos pode-se acrescentar a revisão do repositório no momento do geração da versão,
ex: 1.7.13.56437

Packaging

É o tipo de distribuição do projeto, pode ser por exemplo um software para internet (war) ou um software desktop (jar) e etc.

Name e Description

Como sugerido, informar nome e descrição do projeto.

Após configurar os dados do artifact clique em Finish para criar o projeto fisicamente no diretório. O próximo passo é entender o arquivo pom.xml.

O arquivo pom.xml

Dentro do eclipse navegue através do Project Explorer ou  Package Explorer, expanda o projeto criado e localize o arquivo pom.xml. Perceba que os dados configurados no momento da criação do projeto através do m2e estão dispostos nas respectivas tags. Desta forma o conteúdo do arquivo deverá estar parecido com:



Um problema que pode acontecer quando se importa um projeto existente no workspace, é o projeto perder a referência das libs, desta forma quando você executa o comando Run As ele não encontra as dependências configuradas dentro do pom. Para solucionar este problema faça o seguinte:
  • Dê um clique com o botão direito em cima do projeto;
  • Localize Maven > Update Project 
Aguarde que o projeto será reconfigurado. Com essas informações já é possível criar um projeto  maven à partir do m2e.


quinta-feira

Erro ao rodar comandos maven no console do Windows

Ao rodar qualquer comando mvn (install, compile, deploy) no console do windows (shell) gera o seguinte erro:

"Please ensure you are using JDK 1.6 or above and not a JRE (the com.sun.tools.javac.Main class is required)."

Solução Windows por sessão

  • Abra o console
  • Digite: set JAVA_HOME=endereco da JDK
  • ex: set JAVA_HOME=c:\program files\jdk 1.6\

Solução Definitiva

  • Acesse Painel de Controle > Sistema 
  • Ou pressione a tecla Win + Pause Break
  • Acesse Configurações Avançadas do Sistema
  • Acesse a aba Avançado
  • Clique em Variáveis de Ambiente
  • Nas variáveis de usuário clique em Novo
  • Em Nome da variável digite: JAVA_HOME
  • Em Valor da variável digite o endereço da instalação do JDK
    • obs: O endereço do JDK, não da pasta bin
  • Clique em OK
  • Em Variáveis do Sistema localize a variável path
  • Clique em Valor da variável, NÃO APAGUE o que já está definido,
  • Caminhe até o final do edit e adicione ;%JAVA_HOME%
    • obs: não se esqueça do ponto e vírgula antes do %JAVA_HOME%
  • Clique em OK
  • Abra o console pressionando as teclas Win + R
    • Se tiver algum console aberto, feche-o
  • Digite: set JAVA_HOME
  • Deverá aparecer o caminho do JDK
    • Caso não apareça o caminho, siga os passos novamente

Configurando telefone IP Intelbras TIP100 no Asterisk

Na semana passada precisei instalar 50 telefones IP TIP100 + Asterisk em um cliente aqui em Juiz de Fora, no início penei um pouco pra pegar o jeito, mas não foi tão difícil quanto eu imaginei. Seguem os passos que eu segui para instalá-los:

Configurando o Telefone IP

  • Conecte o telefone à rede elétrica
  • Conecte o cabo da internet à entrada Wan
  • Conecte o cabo do computador na entrada Lan
  • Mude a conexão do computador para DHCP
  • Digite 10.10.10.1 no browser do computador
  • Digite usuario admin e senha admin
  • Selecione o menu Usuário
  • Na aba Voip digite as informações do servidor asterisk:
    • Servidor SIP
      • Servidor SIP: Primário
      • Endereço: ip do servidor
      • Porta: 5060
      • Nome do domínio: [deixar em branco]
      • Enviar registro de Requisição: [selecionar]
    • Conta Voip:
      • Numero de Telefone: [ramal]
      • Identificador de Chamada: [ramal]
      • Porta: 5060
      • Nome de Usuário: [ramal]
      • Senha: [senha do ramal no asterisk]
  • Clique em Salvar
  • Clique em Reiniciar
  • Clique novamente em Reiniciar

Configurando modo Bridged

Para que você utilize apenas um cabo de rede do seu switch, será necessário colocar seu Tip100 em  modo bridge (ponte), desta forma a arquitetura ficará + ou menos assim:

Switch ----> Tip100 ----> Computador

 

Para configurar o modo bridge siga os seguintes passos:
  • Clique em Rede / Wan
  • Selecione a aba Geral
  • Selecione Topologia: Bridged
  • Configuração de Rede Dinâmica
  • Clique em Salvar
  • Clique em Reiniciar
  • Clique novamente em Reiniciar

Após estes passos o telefone irá se registrar no servidor Asterisk e será possível realizar e receber ligações.