18VRaptor Scaffold

O VRaptor 3 agora possui uma extensão chamada VRaptor Scaffold, que tem por finalidade facilitar a configuração de novos projetos e plugins.

Instalação

Para instalar o VRaptor Scaffold é necessário ter instalado o Ruby e o rubygems. Você pode encontrar informações de instalação na página de downloads do Ruby. Tendo isso instalado, basta executar o comando a seguir.

gem install vraptor-scaffold

Começando um projeto

Abra um terminal e digite:

vraptor new onlinestore

Esse comando vai criar toda a estrutra da aplicação, após isso entre na pasta onlinestore e execute a task jetty do ant:

ant jetty.run

Abra o browser no endereço http://localhost:8080 e você deve ver It works!. Agora vamos criar um cadastro completo (CRUD) de produtos para nossa loja virtual, para isso basta executar

vraptor scaffold product name:string value:double

Execute novamente:

ant jetty.run

Acesse http://localhost:8080/products

Package

O pacote raiz por padrão é app, para mudar isso crie a aplicação com o seguinte comando:

vraptor new onlinestore --package=br.com.caelum

Você também pode configurar os pacotes de modelos, controllers e repositórios:

vraptor new onlinestore --package=br.com.caelum -m modelo -c controlador -r repositorio

Build: Maven, Gradle ou Ivy

O VRaptor Scaffold gera um projeto com ant e ivy por padrão, mas você pode escolher outra ferramenta de build com um simples comando na hora de criar seu projeto:

# for maven
vraptor new onlinestore --build-tool=mvn

# for gradle
vraptor new onlinestore --build-tool=gradle

Ao usar gradle, utilize:

gradle jettyRun

para rodar a aplicação.

ORM: JPA ou Hibernate, connection pool

Um projeto novo já vem por padrão com o c3p0 configurado. Além disso você pode escolher entre JPA (EntityManager, padrão), ou Hibernate (Session), ao criar seu projeto:

vraptor new onlinestore -o=jpa
vraptor new onlinestore -o=hibernate

Freemarker

O template engine padrão é JSP, para utilizar o freemarker, crie a aplicação com:

vraptor new onlinestore --template-engine=ftl

Eclipse

Se você optou pelo maven execute:

mvn eclipse:eclipse

Para gerar os arquivos de configuração do Eclipse, após isso apenas faça a importação do projeto normalmente.

Se você optou pelo ant, os arquivos de configuração serão gerados no momento em que criar o projeto, não se esqueça de executar:

ant compile

para baixar todas as dependências antes de importar o projeto.

É possível pular a criação desses arquivos com o comando:

vraptor new onlinestore --skip-eclipse

Tipos de atributos suportados

É possível gerar um CRUD com os seguintes atributos: boolean, double, float, short, integer, long, string, text, date e references.

Plugins

Plugins do vraptor são facilmente instalados com o comando:

vraptor plugin simple-email -v 1.0.0

Você pode encontrar uma lista de plugins disponíveis no repositório GitHub do vraptor-contrib

jQuery

A versão do jQuery é sempre a última disponível para download, para utilizar uma versão anterior use o comando:

vraptor new onlinestore -j 1.4.4

Heroku

Agora é possível fazer um deploy de qualquer aplicação java no Heroku com um simples:

git push heroku master

E o VRaptor Scaffold já tem um comando que gera toda a aplicação do jeito que o Heroku espera. Para isso basta utilizar o comando:

vraptor new onlinestore --heroku

Depois é só fazer o deploy da sua aplicação seguindo os passos do Heroku. Para mais informações acesse o site do Heroku para Java.

Comando Help

Para visualizar a lista de comandos disponibilizados pelo vraptor-scaffold, execute:

vraptor -h
vraptor new -h
vraptor scaffold -h
vraptor plugin -h

Contribuindo

O projeto está sendo desenvolvido em ruby e o código fonte está hospedado no github. Você pode colaborar com o projeto fazendo o fork e enviando seu path ou uma nova funcionalide. Não se esqueça dos testes.