Posts com Tag ‘Importar’

Olá sobreviventes…

Ahhhhh… como é bom poder voltar a postar minhas ‘mensagens de garrafa’ nesse nosso oceano de tecnologia. Mas saindo das frases mega-blaster de impacto (…zzzzzZZZ), vamos ao que realmente importa.

Faz algum tempo que estou envolvido em desenvolvimento (iOS, Java, GWT, …), mas como sou da velha escola, ainda gosto de fazer na raça (true men code by hand), mas realmente devo admitir que seja mais ignorância e falta de conhecimento de praticas e ferramentas atuais, contudo também digo que tem muita coisa na Internet que tem falta de objetividade e clareza e faz você ler 500.000 mil documentos para achar aquela “pequena” coisa que você precisava, ou seja, você leva uma eternidade pesquisando diversos documentos para algo tão “besta” em vez de focar na leitura do que realmente importa.

Ok… eu sei que também estou perdendo tempo de todos com esse blah-blah-blah, mas fica aqui como um protesto…

Estava procurando um código-exemplo e encontrei um projeto (source) para Eclipse, contudo o mesmo estava em Maven. Já havia ouvido falar sobre esse cara, mas realmente não nunca achei necessário pesquisar sobre ele…. até hoje… =´[

O desafio era importar e executar o source do projeto em Maven no Eclipse, mas como não sou muito conhecedor de todos os recursos e plug-ins do Eclipse, acabou consumindo uma manhã inteira desse sábado (13/09/2014)… Esse post é exclusivo para aqueles que também não conhecem tais particularidades do Eclipse e do Maven rodando exclusivamente no Windows.

01. A primeira coisa é instalar o Java JDK (Development Kit), o Eclipse funciona com o Java JRE (Java Runtime Environment), mas ao utilizar o JRE, o Maven não irá encontrar o ‘tools.jar’.

02. O caminho que até o momento achei mais fácil para instalar o Maven é através desse link: https://www.eclipse.org/m2e/download/

03. Na página existe um botão (Install), que ao arratar para o Eclipse, é iniciado automaticamente o assistente de instalação.

04. Basicamente next, next, finish… Não precisa alterar nenhuma configuração.

05. Particularmente tenho dentro do meu diretório ‘Workspace’ um diretório ‘Eclipse’. Nesse diretório ‘Eclipse’, mantenho meus projetos desenvolvidos no Eclipse, sendo assim, ao baixar algum ‘source’, eu extraio o conteúdo (que normalmente é em ZIP) para dentro de um sub-diretório dentro do um diretório ‘Eclipse’. Esse diretório prefiro manter no mesmo nome do ZIP, exceto se por alguma razão, o source necessite de outro nome do diretório.

06. No menu “File”, selecione a opção ‘Import’.

07. Será exibido uma janela com diversas opções. Procure e selecione a opção ‘Maven \ Existing Maven Projects’. Clique ‘Next’.

08. Na próxima tela, no campo ‘Root Directory’, selecione o diretório que está o seu source do projeto em Maven, para ser mais preciso, deve ser o diretório que dentro dele possui o arquivo ‘pom.xml’ (Project Object Model). Basicamente ele é um arquivo xml de configuração e informações do projeto. Clique em Finish.

09. Ao finalizar o assistente, será exibido no ‘Package Explorer’ o nome do projeto, contudo para executar ele é necesário um pequeno mas grande passo.

10. Clique com botão-direito do mouse sobre o nome do projeto, será exibido o menu de contexto. Selecione a opção ‘Run As’.

11. Para termos certeza que o conteúdo do projeto esteja ‘aparentemente’ completo e o Maven funcionando, eu seleciono a opção ‘Maven clean’.

12. Se essa e outras opções com o nome ‘Maven’ não estiver aparecendo no menu ‘Run As’, alguma coisa não deu certo na instalação do plug-in do Maven. Todas as vezes que fiz a instalação do Maven, em 100% houve sucesso, ou seja, é improvável que não apareça essas opções, mas se for o caso, vale a pena recomeçar o processo de instalação do Maven. =´[

13. Ao executar o comando ‘Maven clean’, o mesmo irá abrir o ‘console’ do ‘Eclipse’ e deverá apresentar algo parecido com isso:

[INFO] Scanning for projects…
[INFO]
[INFO] Using the builder org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder with a thread count of 1
[INFO]
[INFO] ————————————————————————
[INFO] Building net.javaforge.blog.projectMaven-0.0.1-SNAPSHOT
[INFO] ————————————————————————
[INFO]
[INFO] — maven-clean-plugin:2.5:clean (default-clean) @ projectMaven —
[INFO] Deleting F:\Workspace\Eclipse\javaforge-blog-master\projectMaven\target
[INFO] ————————————————————————
[INFO] BUILD SUCCESS
[INFO] ————————————————————————
[INFO] Total time: 0.502 s
[INFO] Finished at: 2014-09-13T14:39:00-03:00
[INFO] Final Memory: 8M/183M
[INFO] ————————————————————————

14. Se sim, aparentemente tudo está ok.

15. Agora vem a grande tacada, fazer esse ‘bodega’ funcionar…

16. Clique com botão-direito do mouse sobre o nome do projeto, será exibido o menu de contexto. Selecione a opção ‘Run As’.

17. Selecione a opção ‘Maven build…’. Observe que deve ser apresentado duas opções iguais, com a diferença que um possui reticências, que a opção que ‘eu’ prefiro escolher.

18. É exibod uma janela ‘chata’ com diversas opções. Para o nosso foco, selecione a guia (tab) ‘Main’ (já é padrão).

19. No campo ‘Goals’, simplesmente digite: ‘package’ (somente a palavra package) e clique em ‘Run’.

20. Ele irá compilar e gerar um arquivo WAR dentro do próprio diretório do projeto. No meus testes, dentro do subdiretório ‘\src\main\webapp’, sendo esse um subdiretório do próprio projeto.

21. Copie esse arquivo WAR no seu diretório ‘webapps’ do Tomcat.

22. O serviço do Tomcat irá extrair esse arquivo e irá criar um diretório dentro de ‘webapps’ com o nome do próprio arquivo gerado.

23. Aguarde alguns segundos e o webapp já estará disponível no Tomcat.

 

Infelizmente até o momento não descobri como fazer rodar diretamente pelo Eclipse, utilizando o próprio Jetty, assim como é possível fazer em modo de desenvolvimento de aplicativos GWT.

Acredito que possa haver formas melhores ou mais eficiente de fazer ‘tudo isso’, mas achei um absurdo levar uma manhã inteira somente para descobrir que é realmente necessário o arquivo ‘tools.jar’ do JDK e a instrução ‘package’ para criar o WAR.

Algumas informações adicionais sobre o ‘Maven’.

a. Dentro do diretório do projeto, existe o arquivo ‘pom.xml’, que nesse arquivo existe a seguinte linha:

<packaging>war</packaging>

b. Essa linha informa qual o formato que será criado após a compilação. No nosso caso é gerado um arquivo ‘WAR’.

c. Ao extrair o source do projeto em Maven, normalmente existem alguns poucos arquivos, mas ao importar o projeto, o Eclipse começa a abaixar diversos arquivos, que estão relacionados ao projeto, sendo assim, não estranhe não ver nenhuma arquivo ‘.java’ dentro do diretório do projeto, durante a importação, será executado um ‘download’ em segundo plano no Eclipse, onde ele estará baixando todos os arquivos necessários ao projeto.

d. Existem diversas instruções para o campo ‘Goal’. Segue link abaixo caso tenham interesse em mais informações:

http://stackoverflow.com/questions/3996802/list-all-of-the-possible-goals-in-maven-2

 

De qualquer modo, fica aqui a dica de como importar e executar um projeto Maven no Eclipse para ‘noobas’ e quem conhecer alguma dica legal para completar esse guia, por favor fique a vontade de compartilhar, a comunidade agradece. =]]]

Abraços e até a próxima!