Minha primeira postagem sobre programação, finalmente! Sempre tive a ideia de fazer algo do gênero, tanto para ajudar pessoas com dificuldade na área, como para me ajudar também, quem nunca fez um manual ou apostila de consultas rápidas?
Como pré-requisito para essa tarefa, precisaremos ter um JDK instalado, Eclipse Java EE e o Maven configurados, e um servlet container, nesse tutorial usarei o Apache Tomcat 7.0.39. Tudo será feito no Windows 7. Quem abriu o hiperlink do Maven verá, na seção de documentação, que é necessário configurar as variáveis de ambiente, tanto para o Java (JAVA_HOME) como para o Maven (M2_HOME).
Após o Java e o Maven testados no CLI do Windows (CMD) com os comandos abaixo:
Vamos agora criar nossa classe controller, e disponibilizar uma view para testar:
É necessário ter um conhecimento básico do VRaptor para entender o porquê de criar as pastas, colocar as anotações, entre outros, o mesmo vale para o Maven. Segue alguns links rápidos de ajuda:
Como pré-requisito para essa tarefa, precisaremos ter um JDK instalado, Eclipse Java EE e o Maven configurados, e um servlet container, nesse tutorial usarei o Apache Tomcat 7.0.39. Tudo será feito no Windows 7. Quem abriu o hiperlink do Maven verá, na seção de documentação, que é necessário configurar as variáveis de ambiente, tanto para o Java (JAVA_HOME) como para o Maven (M2_HOME).
Após o Java e o Maven testados no CLI do Windows (CMD) com os comandos abaixo:
- java -version
- mvn -version
- Depois de abrir o Eclipse, navegue até a opção Help/Eclipse Marketplace.
- Vá na aba Popular e instale o plugin Maven Integration for Eclipse (pode demorar um pouco).
- Depois de finalizar o processo de instalação, precisaremos de outro plugin. Faça o mesmo caminho e agora procure por Maven Integration for Eclipse WTP (Incubation) e instale esse plugin, ele que permitirá o uso do Maven para projetos web.
- Na tela principal do Eclipse, navegue até a opção Window/Preferences.
- Na janela de preferências, no tree view navegue até Maven/Installations.
- Perceba que o Maven Embedded está selecionado. Clique em no botão Add e navegue até a pasta do Maven, no meu caso é a pasta apache-maven-3.0.5.
- Aplique essa configuração e aperto o botão OK.
- Na tela principal do Eclipse, navegue até File/New/Other.
- Procure pelo wizard Maven/Maven Project.
- Na tela New Maven Project, deixe da maneira que está. Clique no botão Next.
- No campo Filter, digite webapp. Selecionar o registro que apresenta o Artifact Id maven-archetype-webapp.
- Na tela de configuração do projeto, preencha as informações conforme requeridas (vou deixar um link no final com informações sobre cada campo).
- Clique em Finish.
- Na pasta do projeto, navegue em Deployed Resources/pom.xml.
- Vai na aba Dependencies e clique no botão Add.
- No campo Group Id, coloque: br.com.caelum.
- No campo Artifact Id, coloque: vraptor.
- No campo Version, coloque: 3.5.0.
- Dica: os dados para essa referência podem ser encontrados aqui.
- Clique no botão OK.
- Salve o pom.xml.
- No Project Explorer do Eclipse, navegue na pasta do projeto que criamos até Java Resources/Libraries/Maven Dependencies/vraptor-3.5.0.jar/META-INF/web-fragment.xml.
- No projeto em branco que baixamos, copie o arquivo src/log4j.xml.
- No Eclipse, cole ele na Source Folder: Java Resources/"src/main/resources".
- Para resolver o problema de validação do log4j.xml, sugiro a seguinte solução.
- Para substituir o conteúdo do web.xml padrão do projeto, procure pelo web.xml no projeto em branco que baixamos, copie o conteúdo do arquivo WebContent/WEB-INF/web.xml, porém retirando a parte dos filtros do VRaptor, conforme a figura:
- Cole isso no web.xml do seu projeto (src/main/webapp/WEB-INF/web.xml) e substitua o display-name pelo nome do seu projeto.
Vamos agora criar nossa classe controller, e disponibilizar uma view para testar:
- Crie uma nova classe IndexController no pacote br.com.teste.controller.
- Anote a classe com @Resource do VRaptor.
- Crie um método público que retorne uma String com qualquer nome sem parâmetro.
- Anote esse método com @Path("/") do VRaptor.
- No escopo do método coloque para retornar uma string, como um "Olá mundo!".
- Crie um JSP com o nome index.jsp no diretório src/main/webapp/WEB-INF/jsp/index.
- Coloque o seguinte conteúdo conforme a figura:
- Clique com o botão direito do mouse sobre o projeto, navegue até Run As/Run on Server.
- Selecione o seu servlet container e veja o resultado.
É necessário ter um conhecimento básico do VRaptor para entender o porquê de criar as pastas, colocar as anotações, entre outros, o mesmo vale para o Maven. Segue alguns links rápidos de ajuda:
- Guia inicial de 10 minutos do VRaptor.
- As três principais teclas de atalho do Eclipse.
- Tópico do fórum GUJ que referência um PDF muito interessante sobre o Maven.
- FJ-11 - Java e Orientação a objetos
- FJ-21 - Java para Desenvolvimento Web
- FJ-28 - Desenv. Ágil para Web com VRaptor, Hibernate e AJAX
Ótimo post, bem detalhado e também com imagens pra ajudar no entendimento e acompanhamento.
ResponderExcluirMuito bommmmmm... Valeu
ResponderExcluirBom dia.
ResponderExcluirWillian, estou com dificuldades na instalação do maven, quando entro no eclipse marketplace e digito maven integration for eclipse ele mostra: m2eclipse-wtp: maven integration for eclipse wtp ( from github) mas nao deixa instalar, o q fazer?
Wescley,
ExcluirPreciso de mais informações para ajudá-lo... Por exemplo, qual a versão do seu eclipse? Ele é o IDE for Java EE Developers? É o Kepler, Juno? Geralmente é só fazer o download da última versão, instalar o plugin (sem configurações adicionais) e testar o download de algum pacote... Provavelmente funcionará.
Aqlbras!
DEU CERTO!!!!!!
ResponderExcluirAWWWWWN YEAH! OBRIGADO! :D
Olá Willian,
ResponderExcluirEstou com problemas para executar seu exemplo. Estou usando o Eclipse EE Luna e apache-maven-3.2, java jdk8.e Tomcat 7.0.55.
Obtive dois erros para linha 1 de Programa:
- Cannot change version of project facet Dynamic Web Module to 2.5.
- One or more constraints have not been satisfied.
E erro 404 na execução
Você pode me dar alguma dica?
Ainda tentando resolver, me surgiram algumas dúvidas:
ResponderExcluir- Devo voltar a versão do Java para jsk7?
-E quanto ao maven e o Eclipse, seria melhor usar o Kepler em vez do Luna?
Olá Carcarah, sugiro você verificar se a versão usada na postagem suporta o JDK 8. Até onde sei, ele aceita até o 7. Em relação ao Dynamic Web Module provavelmente é por causa do Maven, você vai ter que alterar o arquivo org.eclipse.wst.common.project.facet.core.xml na mão, mas pesquise antes para entender o porquê, e por fim não vejo limitação em usar uma nova versão do Eclipse, a não ser que ela tenha limitações em relação ao Maven, por exemplo. No teste eu usei o Kepler.
ExcluirAqlbras!
Oi Willian, obrigado por sua ajuda.
ExcluirResumo da Ópera: Consegui fazer rodar, embora a mensagem não tenha desaparecido. Voltei a versão do jdk para 7, também tentei voltar o Eclipse para o Kepler, mas não rola, não tem mais nada no marketplace de maven para ele, só para o Luna, e este não funciona no Kepler, eu tentei. Enfim não tenho certeza se foi só a mudança do jdk, ou se tinha esquecido alguma coisa, já que refiz do zero. Valeu! obrigado.
Carcarah, vou ver se posto o projeto no github amanhã, mas será para o VRaptor 4. Atualizarei essa postagem com o link para acesso.
ExcluirAqlbras!
Beleza, vou para o do CRUD agora.
ResponderExcluirCarcarah, fiz uma postagem sobre o uso do DataTables e lá tem um CRUD funcional para o VRaptor 3. Talvez seja muito diferente para você a versão 4 pois muda diversos conceitos. Segue o link:
Excluirhttps://github.com/willianantunes/labdatatables
Aqlbras!
Cara, salvou minha vida... por alguns momentos. Agora estou preso em outros erros do Maven...
ResponderExcluirSmaily, o Maven pode ser um pouco chato mesmo, eu mesmo sofri um pouco com o dito cujo. Tente resolver pesquisando (no Stackoverflow tem muita coisa) primeiro antes de tirar uma dúvida. Eu resolvi quase todos os meus problemas só em fóruns. Realmente tem muita coisa.
Excluir